JavaScript 類別物件(8)- 物件屬性索引


在前一篇 7)關於 JavaScript 物件 中,討論了物件型別,並以一個描述書籍資料的物件 book 為例作說明:

var book = {
    "title""HTML5從零開始",
    "author""呂高旭",
    "price": 650
}

而針對物件屬性的讀取,除了透過 . 進行引用,另外也能以陣列的語法進行存取,現在我們修改寫法如下:

console.log(book['title']);

這一行同樣回傳「HTML5從零開始」,就如同陣列索引,物件中的屬性可以被當作索引進行相關值的存取,瞭解這個語法,你現在可以回到  6)建立列舉型別物件 這一篇,找到以下這一段程式碼:

function enums(eo) {
var enums = function () { };
for (var key in eo) {
         var enumObject = new enums();              
         enums[key] = eo[key];
}
return enums;
}

其中的 enums[key] 便是運用這裏所討論的索引存取技巧,建立具可列舉成員的類別。而現在基於此特性,我們可以進一步將 for/in 語法應用在其中所有屬性的巡覽操作,考慮以下的語法:

for (key in book) {
console.log(key+''+book[key]);
}

其中的 book 為上述的 book 物件,這一段程式碼將輸出以下的結果:

titleHTML5從零開始
author:呂高旭
price650

如你所見,每一次的 for/in 迴圈其回傳的 key 為屬性名稱,因此將其當作索引鍵值,即可進一步取回對應值。






沒有留言: