//扩展一个叫 each 的属性方法
Object.prototype.each = function (callback){
//this: 调用方法的实例(数组\类\对象)
let length = this.length;
//判断数组和类数组
if(typeof length === "number" && length - 1 in this){
for (let i = 0; i < length; i++){
let item = this[i]
let result = callback(item, i)
if(result === false){
break;
}
this[i] = item
}
return ;
}
//对象
for (let key in this){
if(!this.hasOwnProperty(key)){
break
}
let value = this[key]
let result = callback(value, key)
if (result === false){
break;
}
this[key] = result
}
};
[1,2,3,54,6].each(function (item, index){
console.log(item, index)
});
let obj = {name:'张三',age:'20'}
obj.each(function (item, index){
console.log(item)
})
document.getElementsByTagName('*').each(function (item, index){
console.log(item)
})
打印