av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

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

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

瀏覽:117日期: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
相關文章:
主站蜘蛛池模板: 日韩免费在线观看视频 | 日韩a级片 | av网站免费看| 国产精品欧美一区二区 | 欧美日韩国产精品 | 亚洲h视频 | 日韩欧美国产精品 | 日韩午夜影院 | 欧美日韩啪啪 | 久久性色 | 免费在线观看黄色片 | brazzers精品成人一区 | 波多野结衣乳巨码无在线观看 | 亚洲综合第一页 | 99热国产| 婷婷丁香激情 | 精品欧美一区二区三区久久久 | 久久久免费看 | 黑人精品一区二区 | 午夜影片| 国产探花视频在线观看 | 毛片一级片 | 日本成人一区二区三区 | 在线一区二区视频 | 人人爽人人爽 | 国产在线一 | 欧美视频久久 | 黄色片视频网站 | 中文字幕理论片 | 国产伦精品一区二区三区照片 | 亚洲国产精品网站 | 最新日韩在线 | 免费一级大片 | 免费v片在线观看 | 波多野结衣在线观看一区二区 | 成人深夜福利 | 亚洲成人国产 | 免费视频a| 蜜桃精品一区二区三区 | 中文字幕日韩在线观看 | 97视频免费观看 |