1. 程式人生 > >JS宣告物件時屬性名加引號與不加引號的問題及解決方法

JS宣告物件時屬性名加引號與不加引號的問題及解決方法

一般情況下屬性名加引號和不加引號是都可以的,效果是一樣的。

var obj = { 
  name  : '你好', 
  'age'  : 1, 
}; 
document.write( obj['name'] + '<br />' ); 
document.write( obj.age);

上面兩行程式碼均可以正確執行。
當且僅當你的屬性名是非法怪異的名字時候,會報錯。

var obj = { 
  333 : '這個會報錯'
}; 
document.write( obj.333);

此時報錯。

var obj = { 
  “333”: '這個也會報錯'
}; 
document.write( obj.333);

如果屬性名是數字,則必須有雙引號,並且用[] 方括號訪問。

var obj = {
  "333": '這個正確'
};
console.log(obj["333"]);

結論:使用合法屬性名,使用 . 和 [] 訪問都可以;

如果屬性名是數字,則必須用“”包圍,並且用 [] 方括號訪問。