繁体   English   中英

JavaScript中“和”有什么区别?

[英]What is the difference between ' and " in JavaScript?

<button onClick="function("parameter")">Click</button>
<button onClick="function('parameter')">Click</button>

var variable = "value";
var variable = 'value';

有区别吗?

不可以。它们可以通过设计互换。

唯一的要求是您需要匹配对(使用"' ,但不是两者都表示字符串)。

请参阅字符串文字的规范

StringLiteral:
          " StringCharactersDQopt " 
          ' StringCharactersSQopt '

在HTML中使用时,您需要注意不要在HTML属性中使用与javascript相同的分隔符(这就是为什么您的第一个示例不合法)。

要正常运行,您需要将其更改为:

<button onClick='function("parameter")'>Click</button>

是的,当你将它与HTML混合时会有区别:第一个片段会引发异常,因为你需要转义双引号,而第二个代码将起作用(这是你应该避免将标记与javascript混合的原因之一) 。 在纯JavaScript(单独的文件)中,没有区别。

只要在字符串文字的开头和结尾都使用相同的两个,这两个就是等价的。 也就是说,选择正确的可以避免不必要的字符串转义:

<button onClick="function(&quot;parameter&quot;)">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的脚本中很常见。

没有区别。 '"是可以互换的。现在你不能有这样的字符串: var my_var = 'hello world" ; 开盘价和收盘价必须匹配。 这确实可以让你轻松做到: var my_variable = 'John says "I love JavaScript."'而不必逃避任何事情。

所以这个: <button onClick="function("parameter")">Click</button>将无效,因为你已经过早地打开和关闭了onclick事件"function("

这是相同的。 拥有'和'的唯一原因是,你无法嵌套它们,例如,在给定的onClick示例中 - >

onClick=" and there you need to use ' to encapsulate string "

唯一一次存在差异(我知道)是在JSON中:键和值周围需要双引号。

是的,每个人都是对的; 你的第一行应该是这样读的,否则会引发错误:

<button onClick='function("parameter")'>Click</button>

我更喜欢只使用双引号(如果可能的话),因为我习惯于C语言(C,C ++,C#),其中字符串只能用双引号括起来。 (使用单引号,但要包装char类型)

回答问题本身:就像所有其他人所说的一样,没有真正的区别 - 猜测当你将JavaScript与HTML混合时,它是支持案例的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM