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,我把自己的理解寫在代碼后面了。還請大神幫忙解釋下這個代碼塊的執(zhí)行情況
javascript中,for循環(huán)里匿名函數中的變量的取值是怎樣的?
RISEBY
2018-10-18 14:15:55