var nyc = {
fullName: "New York City",
mayor: "Bill de Blasio",
population: 8000000,
boroughs: 5
};
for(var property in nyc) {
console.log(nyc.property);
}
//控制台 不应该是属性的值么?
undefined
undefined
undefined
undefined
var nyc = {
fullName: "New York City",
mayor: "Bill de Blasio",
population: 8000000,
boroughs: 5
};
for(var property in nyc) {
console.log(nyc.property);
}
//控制台 不应该是属性的值么?
undefined
undefined
undefined
undefined
楼上的答案是正确的。
对象是key:value
的集合,其中key
固定均为String
类型。尝试一下在控制台输入以下代码就懂了
var nyc = {
fullName: "New York City",
mayor: "Bill de Blasio",
population: 8000000,
boroughs: 5
};
for(var property in nyc) {
console.log(typeof property); // string, string, string, string
}
for(var property in nyc) {
console.log(typeof nyc[property]); // string, string, number, number
}
for-in
是将对象中的key
当作一个变量输出出来
var nyc = {
fullName: "New York City",
mayor: "Bill de Blasio",
population: 8000000,
boroughs: 5
};
for (var property in nyc) {
console.log(nyc[property]);//应该是这样写 property是属性名 动态的,所以需要用[]
}
13 回答13k 阅读
7 回答2.1k 阅读
3 回答1.3k 阅读✓ 已解决
6 回答1.2k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
6 回答1.1k 阅读
for..in循环里,取值应该这样写,nyc[property]
因为property是变量,所以要用中括号,而不是.取值。
你nyc.property取的是nyc对象中,键为property的值,因为不存在,所以打印出undefined