Single Quote Params vs No Quote Params?

时间:2011-01-18 22:04:14

标签: javascript parameters quotes

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

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

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

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

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

从我所看到的,没有速度差异,而只是用不必要的引号混乱文件并增加文件大小。

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

4 个答案:

答案 0 :(得分:3)

您无法定义此哈希:

{
   function: 'foo'
}

但你可以定义

{
   'function': 'foo'
}

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

答案 1 :(得分:1)

从技术上讲,第二种形式根据JSON spec无效,但它适用于所有主流Javascript引擎。

答案 2 :(得分:1)

快速Google搜索会在this very website上找到此答案。如果你在谈论对象文字,基本上没有功能差异,但属性不能是像“class”或“namespace”这样的保留字。用引号括住属性允许使用这些单词

答案 3 :(得分:0)

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

示例:

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