2010-05-27 82 views
3

可能重复:
single quotes versus double quotes in js
When to Use Double or Single Quotes in JavaScriptJavaScript字符串差异

是什么下面定义的JavaScript字符串之间的差异(如果有的话)?

var str1 = "Somestring"; 

var str2 = 'Somestring'; 

“”和“”的意思是两个非常不同的事情,我在C++主要编写代码:-)

编辑:如果没有什么差别为什么有实现同样的事情,其中​​的两种方法被认为是更好的使用方法和原因。谢谢!

+1

它们是一样的。 – James 2010-05-27 15:25:45

+1

请参阅:[单引号与双引号在js](http://stackoverflow.com/questions/559752/)和[何时在JavaScript中使用双引号或单引号](http://stackoverflow.com/questions/242813 /时使用的双 - 或单引号合的JavaScript)。 – CMS 2010-05-27 15:28:36

回答

13

JavaScript将单引号和双引号视为字符串分隔符。

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

如果使用双引号,则可以在字符串内部使用单引号而不会转义它们。

两个例子的评估都是一样的。

alert(str1 == str2); // true 
alert(str1 === str2); // true 

为什么有两种方式?由于JavaScript中允许你混合两种方式,你可以写HTML属性出不凌乱逃逸:

var htmlString1 = "<a href='#'>link</a>"; 
var htmlString2 = '<a href="#">link</a>'; 

至于最佳实践,也没有约定。使用最好的感觉。个人而言,我喜欢确保我发出的Javascript匹配HTML(如果我使用双引号属性,我将使用'分隔JS字符串,因此发射的属性将使用")。

+0

为什么downvote? – Oded 2010-05-27 15:29:00

+0

生病了upvote you ....它是一个很好的探索和一个优秀的测试。 – 2010-05-27 15:31:08

+0

@Oded废话我已经upvoted你,但我只是不小心再次点击箭头,现在我被锁定了。如果你编辑我会再次upvote。对于那个很抱歉。 (我也想知道downvote是什么点。) – Pointy 2010-05-27 15:36:20

2

没有任何区别。

2

我相信答案是没有区别的。他们都是字符串。

这里将是“

var mynewhtml = '<body class="myclass" ></body>'; 

使用”

​​

这也是工作,但国际海事组织是更难使用或阅读

var mynewhtml = "<body class=\"myclass\" ></body>"; 
+4

最后一个例子不起作用。 – Pointy 2010-05-27 15:28:50

+0

抱歉你的权利应该是“不”“ – 2010-05-27 15:38:01

3

在Javascript中的字符串是单引号或双引号('或“)中包含零个或多个Unicode字符的序列。双引号字符可能包含在由单引号字符分隔的字符串中,并且单引号字符可能包含在由双引号分隔的字符串中。

在客户端JavaScript编程中,JavaScript代码通常包含HTML代码串,而HTML代码通常包含JavaScript代码串。与JavaScript一样,HTML使用单引号或双引号来分隔其字符串。因此,将JavaScript和HTML结合起来时,最好在JavaScript中使用一种引号,在HTML中使用其他样式。