回調(diào)函數(shù)就是一個函數(shù),它是在我們啟動一個異步任務(wù)的時候就告訴它:等你完成了這個任務(wù)之后要干什么玖院。這樣一來主線程幾乎不用關(guān)心異步任務(wù)的狀態(tài)了,他自己會善始善終试溯。
setTimeout(function () {
document.getElementById("demo").innerHTML="RUNOOB!";
}, 3000);
setTimeout 就是一個消耗時間較長(3 秒)的過程郊酒,它的第一個參數(shù)是個回調(diào)函數(shù),第二個參數(shù)是毫秒數(shù)燎窘,這個函數(shù)執(zhí)行之后會產(chǎn)生一個子線程摹闽,子線程會等待 3 秒,然后執(zhí)行回調(diào)函數(shù) "print"褐健,在命令行輸出 "Time out"付鹿。
既然 setTimeout 會在子線程中等待 3 秒,在 setTimeout 函數(shù)執(zhí)行之后主線程并沒有停止
舉個栗子??:
setTimeout(function () {
console.log("1");
}, 1000);
console.log("2");
執(zhí)行結(jié)果:
2
1