記錄,javascript中對象的屬性名是字符串,卻可以不用引號


問題描述:今日看書,里面介紹js的對象的屬性名是包括空字符串在內的所以字符串

問題來了,我們平時定義的對象如下,是沒有引號""or’'的

var someone  = {
    first_name : “Jeo”,
    second_name : “Mike”
};

所以我寫了以下程序測試,

var stooge = {
    “first_name” : “Jeo”,
    “second_name” : “Mike”
};
var copy = {
    first_name : “Jeo”,
    second_name : “Mike”
};
if (stooge.first_name === copy.first_name)
{
    document.write(‘I am right’);
}
else
{
    document.write(‘Wrong!’);
}

結果輸出為right

也就是說,書上說的沒錯,是字符串,而且屬性名是合法的(不是javascript的保留字)是允許不用引號括起來屬性名

另外,我又注意到了,調用對象的屬性名的時候,我們知道,有兩種寫法:

第一種stooge.first_name    還是 stooge.“first_name”  呢?

第二種stooge[first_name]  還是 stooge[“first_name”] 呢?

實驗結果表明:

第一種stooge.first_name

應該這么寫,也就是說,這種寫法也是默認支持不用引號括起來屬性名

第二種stooge[“first_name”]

此種寫法類似數組,一定要在[]中加入對應有引號的字符串,才能識別出鍵


免責聲明!

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



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