"和'之间的区别[重复]

Posted

技术标签:

【中文标题】"和\'之间的区别[重复]【英文标题】:Difference between " and ' [duplicate]"和'之间的区别[重复] 【发布时间】:2012-11-24 20:05:21 【问题描述】:

可能重复:When to Use Double or Single Quotes in javascriptsingle quotes versus double quotes in js

我正在尝试构建一个 Node.js Express Web 应用程序,在教程中他们经常使用 ' 而不是 ",但没有解释原因。

有人可以解释一下区别吗?这是 JavaScript 特有的,还是也适用于其他语言?

例子:

app.configure('dev')

app.get("/", function (req, res)

谢谢:)

【问题讨论】:

我的意见:在 javascript 中创建字符串文字时应始终使用单引号(警告:JSON)。这是因为它使从服务器端语言注入的 javascript 变得不那么痛苦,因为它们通常使用双引号作为字符串。 【参考方案1】:

在 JavaScript 中,两者是等价的。唯一的区别是在单引号字符串中你不必转义",反之亦然:

'dev' === "dev"
'd"v' === "d\"v"
'd\'v' === "d'v"

大多数其他语言以某种方式区分这两者。例如,在 Bash 和 Perl 中,'' 防止变量在内部展开,所以'a$b' 是实际的字符串a$b,而"a$b" 是由a 加上变量@987654328 的值组成的字符串@。在 C、C++、C# 和 Java 中,'' 用于创建单个字符常量,因此'a' 表示字符a,而"a" 表示包含该字符的字符串。

【讨论】:

非常感谢,让一切变得清晰:) 所以我写 app.configure("dev") 没问题? express 不会为此打我的脸吗?【参考方案2】:

Javascript 字符串字面量可以用'" 括起来;它们之间没有区别(嵌套除外)。 在大多数其他语言中,情况并非如此。

【讨论】:

稍微扩展一下:这里没有“共同”意味着 JavaScript 违反了。不同的语言做完全不同的事情。 Ruby 及其前身插入双引号字符串并将单引号字符串作为文字; C 对字符串使用双引号,对字符使用单引号; Lisp 对字符串使用双引号,对不被解释的数据使用单引号。

以上是关于"和'之间的区别[重复]的主要内容,如果未能解决你的问题,请参考以下文章

“定义”和“声明”之间的区别[重复]

Ruby:比较级之间有啥区别:“||”和“或” [重复]

“fill_parent”和“wrap_content”之间的区别[重复]

C#中“var”和“object”之间的区别[重复]

“__method__”和“方法”之间的区别[重复]

使用'和“之间的区别? [重复]