久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

javascript - 為什么結(jié)果是3不是2呢?

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

問(wèn)題描述

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

問(wèn)題解答

回答1:

for(i=0;i<3;i++){循環(huán)體}執(zhí)行過(guò)程是賦初值0,然后執(zhí)行判斷語(yǔ)句i<3,為true的話,執(zhí)行循環(huán)體,循環(huán)體執(zhí)行完之后執(zhí)行i++;所以當(dāng)i執(zhí)行到2的時(shí)候,i<3為true,執(zhí)行循環(huán)體,然后i++,此時(shí)i等于3,然后判斷i<3,判斷為false,不執(zhí)行循環(huán)體,退出循環(huán),此時(shí)i=3;

回答2:

最后一次for循環(huán)過(guò)后,i++把i變成了3

回答3:

javascript - 為什么結(jié)果是3不是2呢?

此題用斷點(diǎn)方式很容易就看出來(lái)了,其實(shí)就是函數(shù)執(zhí)行時(shí)機(jī)的問(wèn)題,函數(shù)是在調(diào)用時(shí)才執(zhí)行,循環(huán)執(zhí)行完后,i=3,再調(diào)用數(shù)組內(nèi)的函數(shù)時(shí),i只能為3.

回答4:

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

PS: 這題應(yīng)該會(huì)先執(zhí)行arr = F()把,否則會(huì)報(bào)錯(cuò)呀~~

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 尉氏县| 桑日县| 新宁县| 华坪县| 崇礼县| 张家港市| 宁陵县| 开化县| 太保市| 新乡县| 弋阳县| 宜都市| 新郑市| 屏东市| 大渡口区| 四会市| 监利县| 江孜县| 九龙坡区| 新沂市| 扶风县| 邢台市| 手游| 尚志市| 临江市| 祁门县| 乐都县| 玛纳斯县| 丰镇市| 安图县| 汽车| 武夷山市| 合江县| 缙云县| 巴楚县| 揭东县| 公主岭市| 都兰县| 河津市| 获嘉县| 绥江县|