Js中是一個單線程的,但是分同步和異步,同步是依次執行的,如:洗衣服、做飯、燒水,按個按順序執行;而異步任務,如:洗衣服的時候燒水,做飯;這就是同步與異步的區別。
異步的任務有:ajax的回調函數
DOM事件的回調函數
setTimeout、setInterval定時器的回調函數
籠統的可以說回調函數就是一個異步任務(不知道正不正確,待以后深入學習再回來看);
Js的執行同步異步任務的機制如圖:
先看看用最簡單的setTimeout異步任務吧:
其他回調函數都是這個道理。
點擊了,給異步處理,然后函數結果進任務棧,主棧把里面的任務都拿出來執行。