JS中,單引號和雙引號其實沒啥區別,看你自己習慣了。
但若雙引號中再使用雙引號,我們可采取"外雙內單"或者"外單內雙"的格式,當然如果需要的是雙引號本身,則只能是"外單內雙"
console.log("包'青'天"); //包'青'天
console.log('包"青"天'); //包"青"天
console.log("包"青"天"); //錯誤
或者用反斜杠來禁止解析雙引號:
console.log("包\"青\"天");
但如下情況需要明白:
在一個網頁中的按鈕,寫onclick事件的處理代碼,不小心寫成如下:
<input type="button" onclick="alert("1")" /> -------------------不正確
IE提示出錯后,再漫不經心地改為:
<input type="button" onclick="alert(\"1\")" /> ----------------不正確
結果還是出錯。這時,我就想不通了,雖然我知道最直接的解決方法是寫成這樣:
<input type="button" onclick="alert('1')" /> -------------------正確
但為什么javascript中的轉義字符\沒有效果了呢?
這是因為,這段代碼還是歸於HTML的管轄范圍,所以轉義字符應該使用HTML的,而不是javascript的。
<input value="雙引號" type="button" onclick="alert("雙引號");" /> -------------------正確
<input value="單引號" type="button" onclick="alert('單引號');" /> -------------------正確
小結
<input value="外雙引號內雙引號-錯誤" type="button" onclick="alert("OK");" />
<input value="外單引號內單引號-錯誤" type="button" onclick='alert('OK');' />
<input value="兩個雙引號-錯誤" type="button" onclick="alert(""OK"");" />
<input value="兩個單引號-錯誤" type="button" onclick="alert(''OK'');" />
<input value="反斜杠\+雙引號-錯誤" type="button" onclick="alert(\"OK\");" />
<input value="反斜杠\+單引號-錯誤" type="button" onclick="alert(\'OK\');" />
<input value="外雙引號內單引號-OK" type="button" onclick="alert('OK');" />
<input value="外單引號內雙引號-OK" type="button" onclick='alert("OK");' />
<input value="外部不使用引號-OK" type="button" onclick=alert('OK'); />
注:內部使用HTML的單引號或雙引號轉移字符時,都是可以的