同步異步類面試題

寫出下面代碼執(zhí)行之后的結(jié)果,并分析原理

async function async1(){
    console.log('async1 start')
    await async2();
    console.log('async1 end');
}
async function async2(){
    console.log('async2');
}
console.log('script start');
setTimeout(function(){
    console.log('setTimeout');
},0);
async1();
new Promise(function(resolve){
    console.log('promise1');
    resolve();
}).then(function(){
    console.log('promise2');
});
console.log('script end');

執(zhí)行結(jié)果:

script start
async1 start
async2
promise1
script end
async1 end
promise2
setTimeout

分析:


image.png
for (var i=0;i<5;i++){
    ~function(j){
        setTimeout(function(){
            console.log(j)
        },100)
    }(i)
}

執(zhí)行結(jié)果:

0
1
2
3
4

分析:
~自執(zhí)行函數(shù)
利用閉包的特性,將參數(shù)鎖定

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容