你的JS for ...in异常,是否是因为你用了Array.prototype?
今天突然发现页面上的for ...in异常,debug之后,发现for...in 遍历出来一个函数,而这个函数是我自己扩展到Array.prototype。
那么为什么会遍历到我们自己扩展到原型上的属性呢?
js中遍历Object属性(Array也是Object)时,有个前提条件,会遍历该对象属性中enumerable为true(也就是可枚举)的属性
那么我们再扩展到Array原型属性时,一定要加上enumerable: false,可以直接通过Object.defineProperty(obj, .
原创
2020-05-16 08:46:07 ·
492 阅读 ·
0 评论