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,我把自己的理解写在代码后面了。还请大神帮忙解释下这个代码块的执行情况
添加回答
举报
0/150
提交
取消