1、先執(zhí)行執(zhí)行棧中的同步任務
創(chuàng)新互聯建站是一家集網站建設,龍華企業(yè)網站建設,龍華品牌網站建設,網站定制,龍華網站建設報價,網絡營銷,網絡優(yōu)化,龍華網站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯網需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網站。
2、異步任務(回調函數)放入任務隊列中
3、一旦執(zhí)行棧中的所有同步任務執(zhí)行完畢,系統就會按順序讀取任務隊列中的異步任務,于是被讀取的異步任務結束等待狀態(tài),進入執(zhí)行棧,開始執(zhí)行
案例:
輸出結果為:
1
2
3
定時器設置的時間為0,為什么輸出的結果不是 1 3 2呢。
分析:
js會將所有的代碼放入到執(zhí)行棧中先執(zhí)行,其中類似于setTimeout()
中的回調函數會被提取到任務隊列,js會將執(zhí)行棧中的代碼執(zhí)行完畢后,再將任務隊列中的任務放入到執(zhí)行棧中執(zhí)行。所以輸出的結果為:1 2 3