有以下任何區別?:瞭解Javascript對象初始化密鑰
var object1= {
a: 0,
b: 1,
c: 2
};
VS
var object2= {
'a': 0,
'b': 1,
'c': 2
};
有以下任何區別?:瞭解Javascript對象初始化密鑰
var object1= {
a: 0,
b: 1,
c: 2
};
VS
var object2= {
'a': 0,
'b': 1,
'c': 2
};
有在你的例子沒有區別。如果你想讓你的房產名稱成爲一個數字或者有空格(這兩個都是有效的,但是很奇怪),那將會有所不同。
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
如果你有兩分鐘,你可能會覺得這個頁面非常有幫助。
http://bonsaiden.github.com/JavaScript-Garden/#object.general
沒有區別。兩種語法都是正確的
這兩者都是平等的,因爲在javascript中,對象attrs。可以是字符串或純文本。
jessegavin的回答已經解釋了您詢問的所有內容,但讓我補充一件您未曾問到但可能需要知道的事情。
所有這些都是有效的JavaScript對象常量:
{ a: 0, b: 1, c: 2 }
{ 'a': 0, 'b': 1, 'c': 2 }
{ "a": 0, "b": 1, "c": 2 }
,但只有最後一個是有效的JSON。在JSON中沒有正確引用鍵可能是程序生成無效JSON的主要原因,無效的JSON似乎是人們使用AJAX時遇到的主要問題。
不完全是你的問題的答案,但它仍然是相關的,並可能在未來爲你節省一些麻煩。
@ rsp-感謝那些有價值的提示 – Yarin 2011-03-15 04:20:08
@ jessegavin-偉大的鏈接,謝謝 – Yarin 2011-03-15 03:36:15
是的Javascript花園太棒了!它很好地解釋了事情。 – jessegavin 2011-03-15 03:37:29
我不會鏈接到JavaScript Garden,主要是因爲它沒有提供完整的解釋 - 我們沒有着手涵蓋關於主題的所有內容,只包括最奇怪的位;我打算推薦MDC,但是它們在Objects上的頁面嚴重過時(JavaScript 1.0?認真?),所以我想現在會這樣做) – 2011-03-15 04:15:00