for in 语句中的坑

我们在使用javascript中的for遍历元素时有以下两种方式:

(1)for of

(2)for in 

其中,第二种方法不建议使用,因为会出现一些意想不到的情况;

情况一

在程序前半段使用了如下代码段:

 上图中的Array.prototype.remove相当于为数组object加入了新的属性“remove”,那么在后面使用for in 来遍历数组object中的元素时,因为它使用的方式是“键-值”,所以在属性“键”中就会有新加的remove属性,因为就会定义到对应的function(vals)中,从而导致不能正常遍历;

原文地址:https://www.cnblogs.com/zf-blog/p/13678013.html