我知道在 PHP 中,双引号和单引号的唯一区别是字符串内部变量解释和转义字符处理的不同。
在 JavaScript 中,我经常看到双引号用于字符串。这是有特别原因的吗?还是说单引号和双引号完全相同?
我知道在 PHP 中,双引号和单引号的唯一区别是字符串内部变量解释和转义字符处理的不同。
在 JavaScript 中,我经常看到双引号用于字符串。这是有特别原因的吗?还是说单引号和双引号完全相同?
在字符串中,如果你想要双引号出现而不需要对它们进行转义(例如用于HTML属性),你应该使用单引号;或者反过来。除此之外,两者没有区别。
但是,请注意JSON(JavaScript对象表示法)只支持双引号字符串。
var answer = "没问题"; // 双引号内有单引号
var answer = "他叫做 '约翰尼'"; // 单引号在双引号中
var answer = '他叫做 "约翰尼"'; // 双引号在单引号中
- broadband$('div[class^="example"]')
。文本字符串使用双引号,因此可以使用撇号,例如“那就是为什么。” HTML字符串出于与jQuery相同的原因而倾向于使用单引号,例如'<body class="example">'
。使用Javascript编写的JSON可以使用任一类型,因此对于文本使用双引号,对于HTML使用单引号。 - Orwellophile'c'
表示字符,因为这是C语言的惯例。 - OrwellophileJSON 中有一个不同之处 - JSON 标准规定所有的键值对都应该用双引号括起来 (感谢评论中的 wulfgarpro),因此我已经开始尽可能使用双引号,以避免在处理 JSON 时出错。
{key: 'value'}
与{"key": "value"}
完全相同,并且键入速度更快。 - Orwellophile完全没有区别。免费报价 YEEHHAAA
它们是相同的,我通常使用单引号,但这是因为我是一个 .net 开发人员,尤其是 asp.net,因此它有助于我区分这两种字符串。
我刚刚发现了一个区别。我正在制作一个移动网站,但我大多数时间都在桌面版Firefox上进行测试。这在Firefox上运行良好:
var searchArray = searchValue.split(' '); // Split a string at the spaces.
但是... 它在移动版Safari(运行iOS 6.1的iPhone 3GS)上无法正常工作。为了使其在移动版Safari上正常工作,您必须使用双引号:
var searchArray = searchValue.split(" "); // Split a string at the spaces.
如果您不使用双引号,它不会分割字符串,而是将整个字符串放入第一个数组元素中。这对我来说真的很难理解,花了相当长的时间才弄清楚;我不知道是什么让我尝试切换引号,因为我认为它们总是应该以相同的方式运作。我在谷歌上没有找到任何关于这个问题的信息,所以也许这会帮助到其他人。