第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

javascript中回調和遞歸并用的問題

javascript中回調和遞歸并用的問題

qq_遁去的一_1 2019-04-23 15:13:00
varimge=newImage();vararr=newArray(8);varopp=0;functiondigui(opp){imge.src="這里在網上必須有一個圖片的鏈接地址不然測試不出來";imge.onload=function(){opp++;if(opp
查看完整描述

2 回答

?
慕桂英3389331

TA貢獻2036條經驗 獲得超8個贊

varopp=0;
functiondigui(opp){
opp++;
if(opp<8){
digui(opp);
}
console.log(opp);
}
digui(opp);
//輸出的確實是8.7.6.5.4.3.2.1
                            
查看完整回答
反對 回復 2019-04-23
?
牛魔王的故事

TA貢獻1830條經驗 獲得超3個贊

簡單而言,就是你把實現(xiàn)遞歸的模式給改了,傳統(tǒng)的實現(xiàn)是這樣的
>1開始
>---2開始
>------3開始
>------3結束
>---2結束
>1結束
而的你實現(xiàn)改成了
>1開始
>1結束
>---2開始
>---2結束
>------3開始
>------3結束
為什么會成這個樣,是因為onload這個事件的觸發(fā),onload事件觸發(fā)是在加載圖片完成后才執(zhí)行的。
也就是“1開始”后執(zhí)行時并不會馬上觸發(fā)“2開始”的相關邏輯,而是要等待圖片加載完成后,才會觸發(fā)“2開始”,而這時在等待圖片加載時,“1結束”部分已經執(zhí)行完畢
functiondigui(opp){
//開始
console.log(opp+'start');
imge.src="這里在網上必須有一個圖片的鏈接地址不然測試不出來";
imge.onload=function(){
opp++;
if(oppconsole.log("第一層"+opp);
digui(opp);
}
console.log(opp);
}
//結束
console.log(opp+'end');
}
digui(opp);
而基于樓上@jsven的回答
varopp=0;
functiondigui(opp){
console.log(opp+'start');
opp++;
if(opp<8){
digui(opp);
}
console.log(opp);
console.log(opp+'end');
}
digui(opp);
從這2個執(zhí)行結果中,可以看出,同步執(zhí)行時確實是傳統(tǒng)遞歸執(zhí)行,而在異步時,根本就不是傳統(tǒng)遞歸執(zhí)行。
                            
查看完整回答
反對 回復 2019-04-23
  • 2 回答
  • 0 關注
  • 259 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號