有人说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中不推荐使用for… in()】还要考虑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
*/
推荐阅读
- 关于使用CSS Grid网格布局,9个严重的错误
- 如何在JavaScript的回调中正确地访问“this”()
- JavaScript中如何验证邮箱地址()
- javascript如何更简单地在指定索引位置插入一个字符串()
- JavaScript闭包内循环简单实例
- 面向对象编程OOP(Python封装)
- JavaScript Date原型属性简要介绍
- JavaScript |自动完成/建议功能实现代码
- C语言中的Noreturn函数说明符详细介绍