JavaScript中的双引号和单引号有何区别?

41
4个回答

67

不同之处在于,在双引号内您无需转义单引号,或在单引号内转义双引号。这是唯一的区别,如果不计入必须按住Shift键才能键入"


37
在德国键盘上,您需要使用Shift键来输入这两个符号。 - Gumbo
6
Gumbo。这也适用于法语键盘配置。 - Samuel
1
在法国键盘上,你必须使用Shift键才能输入冒号:)。 - sp00m
2
我希望 Stack Overflow 能够提供收藏答案的选项,而不仅仅是问题。 - rolling_codes

24

除非你正在尝试编写JSON,否则无关紧要,如果是这种情况,则必须使用双引号来表示对象文字。


7
请详细说明一下?可以举例说明吗? - Jeff Axelrod
1
@JeffAxelrod:文本{'abc': 123}是无效JSON的示例。JSON拒绝使用单引号来分隔文本。(从技术上讲,它本身不是有效的JavaScript,您必须编写const x = {'abc': 123}才能使其成为有效的JS。如果您不这样做,则前导{将被解析为代码块的开头。)文本{"abc": 123}是一个有效的JSON字符串。 - CR Drost

12

单引号和双引号在 JavaScript 中没有特别的区别(就像在 PHP 中一样)。

唯一的实际区别是您可以在不转义的情况下在单引号字符串中写入双引号",反之亦然。

因此,如果您要在 JavaScript 中输出一些 HTML,例如:

<div id = "my_div"></div>

单引号更加实用 :-)


7
如果你有一个像 <div id = 'my_div'></div> 这样的 HTML 输出,双引号更加有用。 - Gumbo
1
当然 :-) 我使用这个例子是因为双引号更常见。但是,重点是 - 使用字符串中不存在的任何引号。 - Imp
6
我同意Imp的观点,但无论你使用哪种引用风格,黄金法则是保持一致。 - Dmitry Pashkevich
1
在PHP中,双引号字符串中的变量会被解析和替换,而单引号字符串中的变量不会。 - murraybiscuit

3

它们的作用相同,但它们必须匹配。你不能以单引号开头并以双引号结尾,或者反过来。除此之外,它们是可以互换的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接