了解Javascript对象初始化键

了解Javascript对象初始化键,javascript,Javascript,以下两者之间有什么区别吗 var object1= { a: 0, b: 1, c: 2 }; vs 你的例子没有什么不同。如果希望属性名为数字或有空格(两者都有效,但很奇怪),则会有所不同 如果您有两分钟的时间,您可能会发现此页面非常有用。 没有区别。这两种语法都是正确的因为在javascript中,对象属性是相等的。可以是字符串或纯文本。jessegavin的回答已经解释了您询问的所有内容,但让我补充一件您没有询问但将来可能需要知道的事情 所有这些都是有效的JavaScript

以下两者之间有什么区别吗

var object1= {
  a: 0,
  b: 1,
  c: 2
};
vs


你的例子没有什么不同。如果希望属性名为数字或有空格(两者都有效,但很奇怪),则会有所不同

如果您有两分钟的时间,您可能会发现此页面非常有用。

没有区别。这两种语法都是正确的

因为在javascript中,对象属性是相等的。可以是字符串或纯文本。

jessegavin的回答已经解释了您询问的所有内容,但让我补充一件您没有询问但将来可能需要知道的事情

所有这些都是有效的JavaScript对象文本:

{  a:  0,  b:  1,  c:  2 }
{ 'a': 0, 'b': 1, 'c': 2 }
{ "a": 0, "b": 1, "c": 2 }
但只有最后一个是有效的。没有正确引用JSON中的键可能是程序生成无效JSON的主要原因,而无效JSON似乎是人们在AJAX中遇到的问题的主要来源


虽然不完全是您问题的答案,但它仍然是相关的,可能会在将来为您节省一些麻烦。

是的,Javascript花园非常棒!我不会链接到JavaScriptGarden,主要是因为它没有对这一点进行完整的解释——我们并没有打算涵盖这一主题的所有内容,只有最古怪的部分;我本来打算推荐MDC,但他们关于对象的页面已经严重过时(JavaScript 1.0?真的吗?),所以我想现在就这样吧;)
var object3 = {
  '123': 0,
  'hello world' : 1
}

// This is valid
alert(object3['123']); // -> 0
alert(object3['hello world']); // -> 1

// This is not
alert(object3.123); // -> Syntax Error
{  a:  0,  b:  1,  c:  2 }
{ 'a': 0, 'b': 1, 'c': 2 }
{ "a": 0, "b": 1, "c": 2 }