当前位置: 首页 > Web前端 > JavaScript

扩展Array原型方法后,在使用for...in语句遍历Array实例时,扩展原型方法出现在遍历项中

时间:2023-03-26 21:55:36 JavaScript

复现//扩展数组原型Array.prototype.pip=function(){...}//创建数组实例vararr=[];//使用for...in语句遍历实例for(letindexinarr){console.log(index);}//数组实例中没有数据项,但是遍历时会遍历原型方法pip。原因是直接通过Array.prototype.pip方法扩展原型方法,而pip方法会默认是一个可枚举的属性,所以会被for...in语句识别和遍历。解决Object.defineProperties(Array.prototype,{pip:{enumerable:false,//notenumerablevalue:function(){...}}})