【问题标题】:javascript string difference [duplicate]javascript字符串差异[重复]
【发布时间】:2011-02-24 17:33:46
【问题描述】:

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

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

var str1 = "Somestring";

var str2 = 'Somestring';

"" 和 '' 对我来说意味着两个非常不同的东西,主要是用 C++ 编写代码 :-)

编辑:如果没有区别,为什么有两种方法可以实现相同的目标,哪种方法被认为是更好的做法以及为什么。谢谢!

【问题讨论】:

标签: javascript string quotes


【解决方案1】:

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

如果你使用单引号,你可以在字符串中使用双引号而不转义它们。

如果你使用双引号,你可以在字符串中使用单引号而不用转义它们。

这两个示例的评估结果相同。

alert(str1 == str2); // true
alert(str1 === str2); // true

为什么有两种方式?由于 javascript 允许您将两者混合的方式,您可以编写 html 属性而不会出现混乱的转义:

var htmlString1 = "<a href='#'>link</a>";
var htmlString2 = '<a href="#">link</a>';

至于最佳实践,没有约定。使用感觉最好的。

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

【讨论】:

  • 我会支持你....这是一个很好的解释和一个优秀的测试。
  • @Oded 废话我已经投票给你了,但我只是不小心再次点击了箭头,现在我被锁定了。如果您编辑,我会再次投票。对于那个很抱歉。 (我也想知道投反对票的意义何在。)
  • @Pointy - 编辑了更多 ;)
  • 很好的答案,+1 并被接受。谢谢!
  • 我认为应该指出的是,对于真正有效的 JSON,您应该使用双引号:{"property":"string Value"} 被认为是有效的 JSON,而 {'property':'string value'} 不是。尽管 JavaScript 在后面不会有问题,但我看到一些 JSON 解析器在使用单引号时崩溃,并且 JSONLint 会报告为无效。
【解决方案2】:

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

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

【讨论】:

    【解决方案3】:

    完全没有区别。

    【讨论】:

      【解决方案4】:

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

      这里是'的用法

      var mynewhtml = '<body class="myclass" ></body>';
      

      或使用“

      var mynewhtml = "<body class='myclass' ></body>";
      

      这也有效,但 IMO 更难阅读

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

      【讨论】:

      • 最后一个例子不起作用。
      • 抱歉你的权利应该是\"而不是""
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-07
      • 1970-01-01
      • 2010-09-17
      • 1970-01-01
      • 2022-12-17
      相关资源
      最近更新 更多