<button onClick="function("parameter")">Click</button>
<button onClick="function('parameter')">Click</button>
var variable = "value";
var variable = 'value';
有区别吗?
答案 0 :(得分:4)
没有。它们可以通过设计互换。
唯一的要求是您需要匹配对(使用"
或'
,但不能同时使用两者来表示字符串。
请参阅spec了解字符串文字:
StringLiteral:
" StringCharactersDQopt "
' StringCharactersSQopt '
在HTML中使用时,您需要注意不要在HTML属性中使用与javascript相同的分隔符(这就是为什么您的第一个示例不合法)。
要正常运作,您需要将其更改为:
<button onClick='function("parameter")'>Click</button>
答案 1 :(得分:2)
是的,当你将它与HTML混合时会有所不同:第一个代码片段将引发异常,因为你需要转义双引号而第二个代码将起作用(这是你应该避免混合标记的原因之一)用javascript)。在纯JavaScript(单独的文件)中没有区别。
答案 2 :(得分:2)
两者是等效的,只要在字符串文字的开头和结尾都使用相同的一个。也就是说,选择正确的字符串可以避免不必要的字符串转义:
<button onClick="function("parameter")">Click</button> <!-- becomes -->
<button onClick="function('parameter')">Click</button>
var foo = "And the computer said: \"Hello, world!\""; // becomes
var foo = 'And the computer said: "Hello, world!"';
这在使用JavaScript生成HTML时具有明显的优势,这在使用jQuery的脚本中很常见。
答案 3 :(得分:1)
没有区别。 '
和"
可以互换。现在你不能有这样的字符串:var my_var = 'hello world"
;开盘价和收盘价必须匹配。这使您可以轻松地执行:var my_variable = 'John says "I love JavaScript."'
而无需转义任何内容。
因此:<button onClick="function("parameter")">Click</button>
无效,因为您过早地打开并关闭了onclick事件"function("
答案 4 :(得分:0)
它是一样的。拥有'和'的唯一原因是,你无法嵌套它们,例如,在给定的onClick示例中 - &gt;
onClick=" and there you need to use ' to encapsulate string "
答案 5 :(得分:0)
唯一一次存在差异(我知道)是JSON:键和值周围需要双引号。
是的,每个人都是对的;你的第一行应该是这样读的,否则会引发错误:
<button onClick='function("parameter")'>Click</button>
答案 6 :(得分:0)
我更喜欢只使用双引号(如果可能的话),因为我习惯使用C语言(C,C ++,C#),其中字符串只能用双引号括起来。 (使用单引号,但要包装 char 类型)
回答问题本身:就像所有其他人所说的一样,没有真正的区别 - 猜测当你将JavaScript与HTML混合时,支持案例是存在的。