H5W3
当前位置:H5W3 > APIcloud技术问答专区 > 正文

为什么在JavaScript中不推荐使用for…in?

有人说JavaScript中不推荐使用for…in,为什么不推荐使用呢?

理由如下:

不妨看看下面代码的输出:

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) {
    console.log(x);
}

/* 输出结果:
   5
*/

还要考虑JavaScript库可能会做这样的事情,这会影响你创建的任何数组:

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
*/

本文地址:H5W3 » 为什么在JavaScript中不推荐使用for…in?

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址