【问题标题】:Single Quote Params vs No Quote Params?单引号参数与无引号参数?
【发布时间】:2011-06-11 09:40:05
【问题描述】:

这一直让我难以置信,有时我看到人们用单引号参数编写 javascript 对象:

{
    'name': 'Teddy',
    'last': 'Monster'
}

但是我也看到了更常见的,没有引号参数:

{
    name: 'Teddy',
    last: 'Monster'
}

是否有理由使用单引号参数? 解析更快吗?

据我所知,没有速度差异,只是用不必要的引号将文件弄得杂乱无章并增加文件大小。

如果我能得到一个直接的答案,我会改变主意:)

【问题讨论】:

    标签: javascript parameters quotes


    【解决方案1】:

    你不能定义这个哈希:

    {
       function: 'foo'
    }
    

    但你可以定义

    {
       'function': 'foo'
    }
    

    就我个人而言,如果没有保留关键字作为键,我使用前一种方式(为了不使代码混乱,就像你指出的那样)。

    【讨论】:

      【解决方案2】:

      根据JSON spec,从技术上讲,第二种形式是无效的,但它在所有主流 Javascript 引擎中都可以正常工作。

      【讨论】:

      • 这是无效的 JSON 但有效的 Javascript。
      • SLaks 打败了我,JSON 需要双引号才能有效
      【解决方案3】:

      通过 Google 快速搜索可以在 this very website 上找到此答案。如果您谈论的是对象文字,本质上没有功能差异,但属性不能是保留字,如“类”或“命名空间”。将属性括在引号中允许使用这些词

      【讨论】:

        【解决方案4】:

        单引号允许您使用任何有效的字符串,包括在标识符中无效的保留关键字或字符

        例子:

        {
          'return' : 'ok',
          'with-hyphen' : '123'
        }
        

        【讨论】:

          猜你喜欢
          • 2011-09-03
          • 2011-01-05
          • 2011-04-14
          • 2011-09-17
          • 2012-12-13
          • 2012-02-03
          • 1970-01-01
          • 2019-07-01
          相关资源
          最近更新 更多