以下是否有任何区别?:
var object1= {
a: 0,
b: 1,
c: 2
};
Run Code Online (Sandbox Code Playgroud)
VS
var object2= {
'a': 0,
'b': 1,
'c': 2
};
Run Code Online (Sandbox Code Playgroud)
jes*_*vin 13
你的例子没有区别.如果您希望您的属性名称是数字或有空格(两者都有效,但很奇怪),则会有所不同.
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
Run Code Online (Sandbox Code Playgroud)
如果你有两分钟,你会发现这个页面非常有帮助.
http://bonsaiden.github.com/JavaScript-Garden/#object.general
jessegavin的回答已经解释了你所询问的所有内容,但是让我添加一件你没有询问过但未来可能需要知道的事情.
所有这些都是有效的JavaScript对象文字:
{ a: 0, b: 1, c: 2 }
{ 'a': 0, 'b': 1, 'c': 2 }
{ "a": 0, "b": 1, "c": 2 }
Run Code Online (Sandbox Code Playgroud)
但只有最后一个是有效的JSON.没有正确引用JSON中的键可能是程序生成无效JSON的主要原因,无效的JSON似乎是人们使用AJAX时遇到的主要问题.
不完全是你的问题的答案,但它仍然是相关的,并可能在将来为你节省一些麻烦.