JavaScript - 使用撇号还是引号?

7
对于字符串字面量,使用单引号和双引号有什么区别吗?我是指在性能、功能、约定等方面。
为了澄清:
'Hello!'

对比。

"Hello!"
< p >(因为缺乏更具想象力的字符串)< /p > (这是一个没有创意的字符串)

4
完全重复:https://dev59.com/53A75IYBdhLWcg3ws7Yi - Danny Beckett
你能解释一下你在这个问题中担心什么吗? - Vedant Terkar
1
唯一的区别是:您必须按住 shift 键才能输入 " - Derek 朕會功夫
上述问题的被接受答案基本上就是我想说的:在HTML中使用双引号属性会让我想在javascript中使用单引号作为分隔符,但是老习惯难改,通常除非涉及到HTML,否则我会使用双引号。 - JayC
我尝试搜索这个问题,但我认为没有得到结果,因为我输入了“apostrophes”而不是“单引号”。感谢提供链接。@Vedant Terkar就像我所说的,我想知道是否存在功能差异、性能差异或最佳实践。 - Jay
3个回答

4

对于我来说,我会根据字符串的内容使用它 - 字符串本身是否有双引号或单引号?如果字符串具有一种引号,我将使用另一种引号,以便我不必转义它:例如:

我的字符串是:<div class="someclass" >hello</div>

对于上面的例子,我会使用单引号,这样我就不必转义单引号了:

var str = '<div class="someclass" >hello</div>';

否则我需要。
var str = "<div class=\"someclass\" >hello</div>";

两种方法都是完全有效的,但其中一种更容易编码...


3

我不会说有一种优选的方法,你可以使用任意一种。但是如果你在字符串中使用了一种引号,你可能想使用另一种作为字面量。

alert('Say "Hello"');
alert("Say 'Hello'");

最可能的原因是程序员偏好/ API一致性。
不同之处在于,您不需要在双引号中转义单引号或在单引号中转义双引号。这是唯一的区别,如果您不考虑必须按住Shift键才能输入"

1
我认为在使用其中一种引号时可能没有任何性能原因。只是有时您想在字符串内部使用双引号,所以您会将字符串包装在单引号中,反之亦然。
例如:var new ='阿伯拉罕“林肯”';

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