目前我正在閱讀你不知道JS系列。使用數組表示法來訪問for..in循環中的對象屬性的目的是什麼?
我無法理解在此代碼是的console.log一條線(K,myObject的[K])
var myObject = { };
Object.defineProperty(
myObject,
"a",
{ enumerable: true, value: 2 }
);
Object.defineProperty(
myObject,
"b",
{ enumerable: true, value: 3 }
);
for (var k in myObject) {
console.log(k + ' -> ' + myObject[k]);
}
爲什麼作者使用數組符號來訪問對象屬性?
如果我修改這樣[通過對象屬性訪問來訪問對象屬性] 的console.log代碼(K,myObject.k)
我在控制檯得到未定義的值。
如果通過對象屬性訪問器訪問,它顯示爲undefined? 什麼是使用數組如符號訪問對象屬性的目的?
有時你不知道你的對象的關鍵。當像這樣循環時,你可以得到它們並能夠訪問這些值。 – sandrooco
如果屬性名稱是一個變量,那就沒有其他辦法。您只能使用點符號表示文字(不是所有文字,只是那些沒有特殊字符的文字)。 –