我是JavaScript新手,我不知道此代码没有输出的原因。
function printArray(a) {
for (var key in a) {
console.log(a[key]);
}
}
var a = new Array(10);
printArray(a);
有问题吗?
答案 0 :(得分:4)
空插槽数组中没有可枚举的属性。此外,您几乎不想使用for ( in )
循环来遍历数组的索引。
您应该使用常规for
循环或Array.prototype.forEach()
(如果数组当然有值)。
function printArray(a) {
for (var i = 0; i < a.length; i++) {
console.log(a[i]);
}
}
// or
function printArray(a) {
a.forEach(function(i) {
console.log(i);
});
}
请注意,您的所有目标平台都不支持Array.prototype.forEach()
。