考虑以下对象:
var nyc = {
fullName: "New York City",
mayor: "Bill de Blasio",
population: 8000000,
boroughs: 5
};
Run Code Online (Sandbox Code Playgroud)
当我尝试使用 for 循环访问每个属性时:
for(var key in nyc){
console.log(nyc[key]);
}
Run Code Online (Sandbox Code Playgroud)
它返回正确的输出(属性值),但是......
for(var key in nyc){
console.log(nyc.key);
}
Run Code Online (Sandbox Code Playgroud)
这在 4 行上返回“未定义”
为什么会出现奇怪的行为,因为两者:
console.log(nyc.fullName);
console.log(nyc['fullName']);
Run Code Online (Sandbox Code Playgroud)
给出相同的o/p。