for in 语句中的坑
我们在使用javascript中的for遍历元素时有以下两种方式:
(1)for of
(2)for in
其中,第二种方法不建议使用,因为会出现一些意想不到的情况;
情况一
在程序前半段使用了如下代码段:
上图中的Array.prototype.remove相当于为数组object加入了新的属性“remove”,那么在后面使用for in 来遍历数组object中的元素时,因为它使用的方式是“键-值”,所以在属性“键”中就会有新加的remove属性,因为就会定义到对应的function(vals)中,从而导致不能正常遍历;