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"]);

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

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM