色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

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

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

瀏覽:112日期: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
相關文章:
主站蜘蛛池模板: 波多野结衣中文在线播放 | 日韩专区亚洲精品欧美专区 | 男人躁女人躁的好爽免费视频 | 午夜欧美成人久久久久久 | 免费人成网站免费看视频 | 精品国产亚洲一区二区在线3d | 黄色视影| 在线欧美视频 | 亚洲女人网 | 国产精品欧美亚洲日本综合 | 欧美日本综合一区二区三区 | 波多野一区二区 | 国产一级二级三级毛片 | 日本在线观看网址 | 亚洲不卡在线观看 | 美女视频大全网站免费 | 国产成人a一区二区 | 成人观看视频又黄又免费 | 免费女人18毛片a级毛片视频 | 91久热| 久久亚洲精品无码观看不卡 | 成年人看的免费视频 | 亚洲欧美视频一区二区 | 正在播放国产乱子伦视频 | 最新欧美精品一区二区三区 | 国内黄色一级精品 | 国产精品分类视频分类一区 | 在线观看亚洲国产 | 成 人 黄 色 视频 免费观看 | 杨幂精品国产专区91在线 | 亚洲特黄视频 | 欧美性性性性性色大片免费的 | 久久悠 | 欧美xxxxx九色视频免费观看 | 狠狠色丁香婷婷综合久久来 | 日韩黄色免费观看 | 中文字幕在线一区二区在线 | 在线观看二区三区午夜 | 亚洲高清国产一线久久 | 最新亚洲精品 | 动漫一级毛片 |