考虑以下两种备选方案:
console.log(“double”);console.log(“单个”);
前者在字符串两边使用双引号,而后者在字符串周围使用单引号。
我看到越来越多的JavaScript库在处理字符串时使用单引号。
这两种用法可以互换吗?如果没有,使用一个是否优于另一个?
考虑以下两种备选方案:
console.log(“double”);console.log(“单个”);
前者在字符串两边使用双引号,而后者在字符串周围使用单引号。
我看到越来越多的JavaScript库在处理字符串时使用单引号。
这两种用法可以互换吗?如果没有,使用一个是否优于另一个?
当前回答
可以使用单引号或双引号。
例如,这使您能够轻松地将JavaScript内容嵌套在HTML属性中,而无需转义引号。使用PHP创建JavaScript时也是如此。
总的想法是:如果可能的话,使用这样的引号,你不需要逃避。
更少的转义=更好的代码。
其他回答
从技术上讲,没有区别。这只是风格和惯例的问题。
Douglas Crockford1建议使用双引号。
我个人也这么认为。
可以使用单引号或双引号。
例如,这使您能够轻松地将JavaScript内容嵌套在HTML属性中,而无需转义引号。使用PHP创建JavaScript时也是如此。
总的想法是:如果可能的话,使用这样的引号,你不需要逃避。
更少的转义=更好的代码。
如果使用的是JSHint,如果使用双引号字符串,则会引发错误。
我通过Yeoman清理AngularJS使用了它,但也许有某种方式可以配置它。
顺便说一句,当您将HTML转换为JavaScript时,使用单引号更容易:
var foo = '<div class="cool-stuff">Cool content</div>';
至少JSON使用双引号来表示字符串。
回答你的问题没有任何琐碎的方法。
严格地说,意思没有区别;因此,选择归根结底是为了方便。
以下是可能影响您选择的几个因素:
房屋风格:一些开发商已经使用了一种或另一种惯例。客户端要求:您会在字符串中使用引号吗?(见Ady的回答。)服务器端语言:VB.NET人员可能会选择对JavaScript使用单引号,以便可以在服务器端构建脚本(VB.NET对字符串使用双引号,因此如果使用单引号则很容易区分JavaScript字符串)。库代码:如果您正在使用使用特定样式的库,您可以考虑自己使用相同的样式。个人喜好:你可能会觉得一种或另一种风格更好看。
有些人声称看到了性能差异:旧邮件列表线程。但我找不到任何一个可以确认的。
主要的事情是查看在字符串中使用的引号(双引号或单引号)。这有助于减少逃跑的次数。例如,当您在字符串中处理HTML内容时,使用单引号更容易,这样就不必转义属性周围的所有双引号。