这是我的代码
function Person (name, age) {
this.name = name;
this.age = age;
}
var family = new Array();
family[0] = new Person("alice", 40);
family[1] = new Person("bob", 42);
family[2] = new Person("michelle", 8);
family[3] = new Person("timmy", 6);
for (i =0; i<= family.length; i++) {
console.log (family[i].name);
}
这会产生错误: TypeError:无法读取未定义的属性“name”
有人能从这里指出我正确的方向吗?
答案 0 :(得分:3)
你正在迭代一次。
for (var i = 0; i < family.length; i++)
JavaScript数组从零开始,最后一个非空单元格在length - 1
。因此,当索引等于长度时,你必须停止迭代,而不是当它大于长度时。
答案 1 :(得分:2)
您应该将测试条件更改为i < family.length
,这样您就会超出范围。
答案 2 :(得分:1)
i < family.length
怎么样?
答案 3 :(得分:1)
将&lt; =更改为&lt;。你超过了数组限制。
答案 4 :(得分:0)