为什么Javascript不建议用for in遍历数组?

正常情况下,Javascript用for in遍历数据是没有问题的:

var a = ["m", "z", "w", "u", "c", "o", "m"];
for (var i in a) {
    console.log(a[i]);
}
/*
m
z
w
u
c
o
m
*/

但是,当修改了Array原型时就会有问题,比如:

Array.prototype.first = function () { return this[0]; };
var a = ["m", "z", "w", "u", "c", "o", "m"];
for (var i in a) {
    console.log(a[i]);
}
/*
m
z
w
u
c
o
m
function () { return this[0]; }
*/


评论: 0 | 引用: 0 | 查看次数: 3514
发表评论
登录后再发表评论!