forEach遍历对象
// 将自定义的方法挂载到Object的构造函数中,函数接收一个对象一个回调方法
Object.prototype.constructor.forEach = function(obj,callback){
// 判断回调是否是一个函数
if(typeof(callback) === 'function'){
let i = 0;
for(let key in obj){
callback(obj[key],i,key);
i ++;
}
return;
}
// 传入的回调如果不是function,那么就抛出错误
throw new Error (callback + ' is not a function!,You can use it like this: Object.forEach(obj,(item,index,key)=>{...}) ')
}
试用
var obj = {
name:'啊哈',
age:'18',
like:'呜呼',
}
Object.forEach(obj,(item,index,key)=>{
console.log(item, index, key);
})
=> 啊哈 0 name
=> 18 1 age
=> 呜呼 2 like