javascript字符串差异

Kon*_*rad 3 javascript string quotes

可能重复:
js中单引号与双引号何时在JavaScript中使用双引号
或单引号

下面定义的javascript字符串之间有什么区别(如果有的话)?

var str1 = "Somestring";

var str2 = 'Somestring';
Run Code Online (Sandbox Code Playgroud)

"和''对我来说意味着两个非常不同的东西,主要是用C++编写代码:-)

编辑:如果没有差异,为什么有两种方法可以实现相同的东西,这被认为是更好的使用方法和原因.谢谢!

Ode*_*ded 13

Javascript将单引号和双引号视为字符串分隔符.

如果使用单引号,则可以在字符串中使用双引号而不转义它们.

如果使用双引号,则可以在字符串中使用单引号而不转义它们.

两个例子都评估相同的事情.

alert(str1 == str2); // true
alert(str1 === str2); // true
Run Code Online (Sandbox Code Playgroud)

为什么两种方式?由于javascript允许你混合两者的方式,你可以写出html属性,而不会有凌乱的转义:

var htmlString1 = "<a href='#'>link</a>";
var htmlString2 = '<a href="#">link</a>';
Run Code Online (Sandbox Code Playgroud)

至于最佳做法,没有惯例.使用感觉最好的.

就个人而言,我喜欢确保我发出的Javascript与HTML匹配(如果我双引号属性,我将用a分隔JS字符串',因此发出的属性将使用").