可以永遠存在的差異:JavaScript對象字面:屬性名稱作爲字符串與 「原始」
var x = {
hello: 'world'
};
和
var x = {
'hello': 'world'
};
?
也就是說,在什麼情況下,賦予屬性名稱作爲字符串的結果與將其作爲「原始」名稱的結果不同?例如,我知道var x = {}; x['@£$%'] = 'bling!';
是有效的(因爲任何字符串都可以是屬性),但[email protected]£$% = 'bling!'
不起作用。也不會語言的關鍵字或保留的關鍵字作爲屬性名稱(所以var x = {for: 'good', class: 'y'};
將無法正常工作。
還有別的嗎?
例如,如果
var hello = 'goodbye';
在上面的例子中定義?還是什麼否則,像
function hello() {
return 'goodbye';
}
?
爲了安全起見,我是否應該始終使用我的財產名稱字符串?
看一看[這個問題](http://stackoverflow.com/questions/2348867/why-are-s ome-object-literal-properties-quoted-and-others-not) – Flash 2011-04-26 02:53:30