-1
我得到這個代碼:對於-in循環和訪問屬性值
var languages = {
english: "hello",
french: "bonjour",
notALanguage: 4,
spanish: "hola"
};
我必須打印出3種方式來打招呼。我這樣做:
for (var i in languages) {
if (typeof(languages.i) === "string") {
console.log(languages.i);
}
}
但是,它沒有奏效。另一方面,這工作:
for (var i in languages) {
if (typeof(languages[i]) === "string") {
console.log(languages[i]);
}
}
爲什麼?有兩種訪問屬性值的方法:使用languages.key或語言[「key」]。那麼爲什麼我的代碼失敗了,爲什麼其他代碼會通過?
*「或者使用'languages.key'或者'languages [」key「]'」* - 是的,但是您沒有其中之一。你有'語言[鍵]'。 – JJJ
'language.i'等於'language [「i」]'而不是'language [i]' – Rajesh
這將有助於:http://stackoverflow.com/questions/4968406/javascript-property-access-dot-符號-VS-支架 – Rajesh