javascript单引号和双引号的区别以及使用方法

在一个网页中的按钮,写onclick事件的处理代码,不小心写成如下:

<input value="Test" type="button" onclick="alert(""OK"");" />

IE提示出错后,再漫不经心地改为:

<input value="Test" type="button" onclick="alert(\"OK\");" />

结果还是出错。
这时,我就想不通了,虽然我知道最直接的解决方法是写成这样:

<input value="" type="button" onclick="alert('OK');" />

但为什么javascript中的转义字符“\”没有效果了呢?

后来找到一段正常的代码:

<input value="Test" type="button" onclick="alert(&quot;OK&quot;);" />

这时才理解,原来这时,还是归于HTML的管辖范围,所以转义字符应该使用HTML的,而不是javascript的。两个双引号的做法是 vbScript的,\”这种做法则是javascript的,而HTML的,则是用&quot;,此外还可以使用:”、&#x27。

下面列出各种表达方法:

<html>
<body>
<input value="外双引号内双引号-错误" type="button" onclick="alert("OK");" /><br />
<input value="外单引号内单引号-错误" type="button" onclick='alert('OK');' /><br />
<input value="两个双引号-错误" type="button" onclick="alert(""OK"");" /><br />
<input value="两个单引号-错误" type="button" onclick="alert(''OK'');" /><br />
<input value="\+双引号-错误" type="button" onclick="alert(\"OK\");" /><br />
<input value="\+单引号-错误" type="button" onclick="alert(\'OK\');" /><br />
<input value="外双引号内单引号-OK" type="button" onclick="alert('OK');" /><br />
<input value="外单引号内双引号-OK" type="button" onclick='alert("OK");' /><br />
<input value="外部不使用引号-OK" type="button" onclick=alert('OK');alert("OK"); /><br />
<input value="HTML转义字符"(& # 3 4 ;)-OK" type="button" onclick="alert("OK");" /><br />
<input value="HTML转义字符'(& # 3 9 ;)-OK" type="button" onclick="alert('OK');" /><br />
<input value="HTML转义字符"(& # x 2 2 ;)-OK" type="button" onclick="alert('OK');" /><br />
<input value="HTML转义字符'(& # x 2 7 ;)-OK" type="button" onclick="alert('OK');" /><br />
<input value="HTML转义字符&quot;(& q u o t ;)-OK" type="button" onclick="alert(&quot;OK&quot;);" /><br />
<input value="HTML转义字符&apos;(& a p o s;)-IE错误" type="button" onclick="alert(&apos;OK&apos;);" /><br />

<input value="其它\\-错误" type="button" onclick="alert(\\"OK\\");" /><br />
<input value="其它\& # 3 4 ;-错误" type="button" onclick="alert(\"OK\");" /><br />
</body>
</html>

我是为了做JavaScript动态创建一个图像,并点击图像往另一个函数传字符串,之前怎么也传不过去

str += ‘<img id=”i’ + this.obj + nodeId + ‘” src=”‘ + ((node._io) ? node.iconOpen : node.icon) + ‘” alt=”” onClick=”zkmshow(&quot;imytree’ + nodeId + ‘&quot;)”/>’;

总结:大家不能忽视HTML语言的特定标示,如空格是&nbsp;单引号就是&quot;   他们有时作用很大

javascript里面单引号和双引号没具体区别。
PHP中单引号不支持转义字符,双引号支持转义和内嵌变量。PHP中处理纯文本时使用单引号效率比双引号效率更为高

Leave a Reply