關于setTimeout

先看一段代碼:

console.log("1");

setTimeout(function(){
    console.log("2");
},1000);

console.log("3");

setTimeout(function(){
    console.log("4");
},0);

輸出結果是什么?

這里涉及到一個概念,首先JS是單線程的,而在JS中有兩種任務:
1)同步任務:同步任務按順序執行
2)異步任務:所有的異步任務會被放在一個任務隊列中,在 同步任務執行完畢之后,才會執行任務隊列中的異步任務

由此推理,以上代碼的輸入結果應該是:1 3 4 2

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容