国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

javascript - 為什么結果是3不是2呢?

瀏覽:87日期:2023-05-16 09:28:24

問題描述

function F(){ var arr=[],i; for(i=0;i<3;i++){arr[i]=function(){ return i;}; } return arr;}arr[0]();//3arr[1]();//3arr[2]();//3

問題解答

回答1:

for(i=0;i<3;i++){循環體}執行過程是賦初值0,然后執行判斷語句i<3,為true的話,執行循環體,循環體執行完之后執行i++;所以當i執行到2的時候,i<3為true,執行循環體,然后i++,此時i等于3,然后判斷i<3,判斷為false,不執行循環體,退出循環,此時i=3;

回答2:

最后一次for循環過后,i++把i變成了3

回答3:

javascript - 為什么結果是3不是2呢?

此題用斷點方式很容易就看出來了,其實就是函數執行時機的問題,函數是在調用時才執行,循環執行完后,i=3,再調用數組內的函數時,i只能為3.

回答4:

js順序執行,首先執行所有的循環,在執行的過程中以此arr[0]= function(){return i;},arr[1]= function(){return i;},arr[2]= function(){return i;}同時i循環后編程3,接著調用arr[0]()等調用的時候,此時作用域內的i是3,所以依次都會是3.

PS: 這題應該會先執行arr = F()把,否則會報錯呀~~

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 一区二区亚洲精品 | 天天看片日本 | 久久91这里精品国产2020 | 萌白酱福利视频在线网站 | 美女被免费视频网站a国产 美女被免费网站视频软件 美女被免费网站在线软件 美女被免费网站在线视频软件 | 曰本三级 | 日韩视频在线观看 | 亚洲国产资源 | 欧美日韩亚洲第一页 | 成人免费在线观看视频 | 影院成人区精品一区二区婷婷丽春院影视 | 国产精品揄拍一区二区久久 | 亚洲欧美精品中字久久99 | 欧美激情中文字幕 | 久久99精品九九九久久婷婷 | 中国人免费观看高清在线观看二区 | 成年人免费视频观看 | 美国一级特a黄 | 韩国精品一区二区三区在线观看 | 国产一区二区福利久久 | 国产成人三级经典中文 | 姐姐真漂亮在线视频中文版 | 日韩在线视频不卡一区二区三区 | 最新国产精品好看的国产精品 | 三级成人网 | 欧美人成在线视频 | 办公室紧身裙丝袜av在线 | 精品国产一区二区三区在线 | 日韩在线播放中文字幕 | 亚洲午夜影视 | 黄色三级欧美 | 一级做a毛片在线看 | 久久久这里只有精品免费 | 国产精品秒播无毒不卡 | 99久久精品免费国产一区二区三区 | 成 人 亚洲 综合天堂 | 欧美一级毛片欧美一级无片 | 欧美人交性视频在线香蕉 | 男人的天堂免费 | 亚洲第一免费播放区 | 国产日韩欧美精品 |