我已经编写了这段代码来汇总数组的值。有人可以解释为什么我在最后一个console.log语句中得到了未定义。
var array = [2,3,4,5,6,7];
var sum = 0;
for(var i = 0; i < array.length; i++) {
sum = array[i] + sum;
}
console.log(sum);
console.log(array[i]);
答案 0 :(得分:5)
这是因为执行的循环i++
现在i
等于array.length
。
当您尝试访问之前未定义的对象属性时,JavaScript会返回原始值undefined
。
但是,由于JavaScript数组基于0,因此仅在0
和array.length - 1
之间填充数组。