JavaScript 中,单引号和双引号表示字符串有什么区别

看书发现 String 可以有两种表达方式,如下

var a = "double";
var b = 'single';

请问这两种写法有什么区别吗?

阅读 8.7k
12 个回答

一样的, 都是字符串字面量

'a'==="a"  //true

另外还有 反引号` 的模板字面量

var str1 = 'a is not "b"'
var str2 = "a is not 'b'"
var str3 = `str: ${str2}`

哈哈,完全没区别!

没太大区别,建议用单引号

在js语言中没有区别
应用场景
var str = "<script src='www.baidu.com'>"
这里就必须使用单双引号了 否则会报错

在php语言中
单引号只是普通字符串,但是双引号可以解析字符串中的变量

貌似单引号解析速度比双引号快些

单引号和双引号完全等同,不存在谁快谁慢的问题,虽然很多人建议用单引号,但是我还是建议用双引号……

喜欢用单引号的,一般多是原来搞 PHP 之类开发的,PHP 中双引号存在变量解析,所以会更慢;
喜欢用双引号的,一般多是原来搞 C、Java、C# 的;

ES6 以后有反引号(`)表示需要解析的字符串(字符串模板),而这个字符和单引号(')还比较容易混淆(当然,一般字体和编辑器会帮你区分)

当然这并没有太大的说服力,所以最根本的问题是:

  • 团队约定
  • 习惯
  • 除特殊情况外不要混用

    不过有字符串模板之后,特殊情况都可以用字符串模板来处理,所以团队可以约定不得混用

没区别,按照你自己的代码规范来选择,不要混用,统一下就可以了

没区别,一般是喜欢单引号

没有区别,唯一的区别只是它们需要转义的引号不一样,比如'\'"'"\"'"

没区别。js一般都使用单引号。

没区别,主要用于引号里面再用引号进行区分

在双引号里面可以用单引号
也就是
var a="'aaa'111"
可以得到一个字符串
'aaa'111
此时'是一个字符

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题