我们来看以下正确的代码:
var a = []; // 创建一个空数组
a[5] = 5;
for (var i = 0; i < a.length; i++) {
console.log(a[i]);
}
/* 将会输出以下结果:
undefined
undefined
undefined
undefined
undefined
5
*/
当我们使用for…in就会忽略一些信息,例如以下代码,产生与上面的代码完全不一样的结果:
var a = [];
a[5] = 5;
for (var x in a) {
// 只显示了5,而忽略掉了0-4
console.log(x);
}
/* 将会输出以下结果:
5
*/
当我们需要依赖一些Javascript库,for…in也会有一些问题,例如一下代码:
Array.prototype.foo = 1;
var a = [1, 2, 3, 4, 5];
for (var x in a){
console.log(x);
}
/* 将会输出以下结果:
0
1
2
3
4
foo
*/
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。