首页 > 代码库 > JS HTML 单引号与双引号

JS HTML 单引号与双引号

JS中,单引号和双引号其实没啥区别,看你自己习惯了。
但若双引号中再使用双引号,则需要用反斜杠来禁止解析双引号:
alert("abc\"def\"ghi");

但如下情况需要明白:
在一个网页中的按钮,写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=http://www.mamicode.com/"双引号" type="button" onclick="alert(&quot;双引号&#34;);" /> -------------------正确
<input value=http://www.mamicode.com/"单引号" type="button" onclick="alert(&apos;单引号&#39;);" /> -------------------正确

小结
<input value=http://www.mamicode.com/"外双引号内双引号-错误" type="button" onclick="alert("OK");" />
<input value=http://www.mamicode.com/"外单引号内单引号-错误" type="button" onclick=alert(OK‘);‘ />
<input value=http://www.mamicode.com/"两个双引号-错误" type="button" onclick="alert(""OK"");" />
<input value=http://www.mamicode.com/"两个单引号-错误" type="button" onclick="alert(‘‘OK‘‘);" />
<input value=http://www.mamicode.com/"反斜杠\+双引号-错误" type="button" onclick="alert(\"OK\");" />
<input value=http://www.mamicode.com/"反斜杠\+单引号-错误" type="button" onclick="alert(\‘OK\‘);" />

<input value=http://www.mamicode.com/"外双引号内单引号-OK" type="button" onclick="alert(‘OK‘);" />
<input value=http://www.mamicode.com/"外单引号内双引号-OK" type="button" onclick=alert("OK");/>
<input value=http://www.mamicode.com/"外部不使用引号-OK" type="button" onclick=alert(‘OK‘); />
注:内部使用HTML的单引号或双引号转移字符时,都是可以的


来自为知笔记(Wiz)


JS HTML 单引号与双引号