为了账号安全,请及时绑定邮箱和手机立即绑定

javascript中,for循环里匿名函数中的变量的取值是怎样的?

javascript中,for循环里匿名函数中的变量的取值是怎样的?

RISEBY 2018-10-18 14:15:55
function buildList(list){       var result=[];       for(var i=0;i<list.length;i++){           var item="item"+i;           result.push(function(){               alert(item+" "+list[i])           });       }       return result;  //返回一个匿名函数数组   }   function testList(){       var fnlist=buildList([0,1,2]); //返回一个有三个匿名函数元素的数组       for(var i=0; i<fnlist.length;i++){  //fnlist数组的长度为3,           fnlist[i]();              //我觉得此处应该是fnlist[0]():“item0 0”; fnlist[1]():“item1 1”; fnlist[2]():“item2 2”;       }   }   testList();                              //实际结果是"item2 undefined" 3 times不理解为什么最后弹出的结果是"item2 undefined" 3 times,我把自己的理解写在代码后面了。还请大神帮忙解释下这个代码块的执行情况
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 455 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信