请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

for ( key in obj)不定义key可以吗?

function myforEach (obj,fn){

  // var key

  if(obj instanceof Array){

    obj.forEach(function(item,index){

      fn(item,index) //调用fn函数并传实参进去

    })

  } else {

    for (key in obj) {

      fn (obj[key],key)

    }

  }

}

obj1={

  'name':'wendy',

  'age':28

}

myforEach(obj1,function(value,key){

  console.log('this is value',value)

})

老师,你的例子中我自己写了一下,发现不定义key也是可以的,

key属于参数,如果不定义key,JS解析的时候就会自动把它解析为undefined,我们这里可以不定义key吧?

正在回答 回答被采纳积分+3

1回答

双越 2018-01-15 13:47:44

key 怎么是参数呢?

你把 var key 这一行注释掉,然后后面直接用了 for (key in obj) {...} ,这样 key 会成为一个全局变量。污染了全局环境,后果非常严重!!!

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信