javascript笔记

来源:互联网 发布:剑网3江湖论贱捏脸数据 编辑:程序博客网 时间:2024/05/21 06:25

题目:
在不修改题目的方式下写一个each函数来实现下列的输出

var each = function(obj,fn){
};

try{
var data1 = [4,5,6,7,8,9,10,11,12,13];
var data2 = {‘a’:4,’b’:5,’c’:6}
each(data1,function(o){
console.log(o+’:\”+ this +’\”)
})
each(data2,function(v,n){
console.log(n+’:\”+ v +’\”)
})

}catch(e){
console.error(‘执行错误,错误信息:’+e)
}

解答:

var each = function(obj,fn){
var key,objType;
if(typeof fn == ‘function’){
switch(Object.prototype.toString.call(obj)){
case ‘[object Array]’:
for(key in obj){
fn.call(obj[key],key);
}
break;
case ‘[object Object]’:
for(key in obj){
fn.call(this,obj[key],key);
}
break;
}
}
return obj;
};

0 0
原创粉丝点击