javascript字符串差异

javascript字符串差异,javascript,string,quotes,Javascript,String,Quotes,可能的重复项: 下面定义的javascript字符串之间有什么区别(如果有) var str1 = "Somestring"; var str2 = 'Somestring'; “和”对我来说意味着两个非常不同的东西,主要是C++中编写代码:-/p> 编辑:如果没有区别,为什么有两种方法可以达到相同的效果,哪种被认为是更好的实践,为什么。谢谢 完全没有区别。Javascript将单引号和双引号视为字符串分隔符 如果使用单引号,则可以在字符串中使用双引号,而无需转义 如果使用双引号,则可以

可能的重复项:

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

var str1 = "Somestring";

var str2 = 'Somestring';

“和”对我来说意味着两个非常不同的东西,主要是C++中编写代码:-/p>


编辑:如果没有区别,为什么有两种方法可以达到相同的效果,哪种被认为是更好的实践,为什么。谢谢

完全没有区别。

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

如果使用单引号,则可以在字符串中使用双引号,而无需转义

如果使用双引号,则可以在字符串中使用单引号,而无需转义

两个例子的计算结果相同

alert(str1 == str2); // true
alert(str1 === str2); // true
为什么有两种方式?由于javascript允许您将两者混合使用,因此您可以写出html属性,而不会出现混乱的转义:

var htmlString1 = "<a href='#'>link</a>";
var htmlString2 = '<a href="#">link</a>';
var htmlString1=“”;
var htmlString2='';
至于最佳做法,没有惯例。使用感觉最好的东西


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

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

下面是'

var mynewhtml = '<body class="myclass" ></body>';
var mynewhtml='';
或使用“

var mynewhtml=”“;
这同样有效,但IMO更难阅读

var mynewhtml = "<body class=\"myclass\" ></body>";
var mynewhtml=”“;

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


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

请参阅:和。最后一个示例不起作用。对不起,你的权利应该是“不”,我会投票给你……这是一个很好的解释,也是一个很好的测试。@Oded Rup我投票给了你,但我只是不小心再次点击了箭头,现在我被锁定了。如果你编辑,我将再次投票。很抱歉。(我也不知道否决票的意义是什么。)@Pointy-编辑了更多;)回答得好,+1,接受。谢谢我认为应该指出的是,对于真正有效的JSON,应该使用双引号:
{“property”:“string Value”}
被认为是有效的JSON,而
{'property':'string Value'}
则不是。尽管JavaScript对后者不会有问题,但我看到一些JSON解析器在使用单引号时崩溃,JSONLint将报告为无效。
var mynewhtml = "<body class=\"myclass\" ></body>";