亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

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

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

瀏覽:102日期: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
相關文章:
主站蜘蛛池模板: 黄色网址播放 | 亚洲精品二区 | 久草在线中文 | jizz成熟丰满中文字幕 | 波多野结衣黑人系列在线观看 | 一区二区三区视频在线 | 一级片免费在线 | 成人在线免费视频 | 哪里可以免费看毛片 | 99久久精品免费看国产麻豆 | 成人免费一区二区三区 | 香港毛片免费看 | 亚洲人和日本人jizz | 国产三香港三韩国三级不卡 | 久久精品久久精品 | 国产永久免费高清动作片www | 免费一区二区三区免费视频 | 欧美日产国产亚洲综合图区一 | 九九热国产精品视频 | 国产伦精品一区二区三区女 | 超污视频网站 | 奇米网狠狠| 亚洲成a人片在线观看www | 被公侵犯肉体中文字幕一区二区 | 视频免费1区二区三区 | 亚洲精品一区vv国产 | 亚洲高清国产一线久久 | 天天干成人网 | 成人性生活视频 | 亚洲综合成人网 | 欧美ol丝袜高跟秘书在线观看 | 97午夜| 亚洲综合色吧 | 五月婷婷丁香久久 | 国产香蕉视频在线 | 一级毛片黄片 | 国产亚洲精品久久久久久午夜 | 国产精选一区二区 | 51精品资源视频在线播放 | 性视频亚洲| 亚洲高清视频在线播放 |