1. 程式人生 > >JS中同步與異步

JS中同步與異步

事件 過程 ole 跳過 說明 timeout nbsp 技術分享 com

不講過多定義,舉兩個例子說明下

例一:

console.log(100);

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

console.log(300);

上面代碼就是一個異步過程,結果是:

技術分享

它先打印出100和300,一秒後再打印出200。

例二:

console.log(100);

alert(200);

console.log(300);

上面代碼是一個同步過程,它先打印出100,然後確認彈窗後,再打印出300。

技術分享

由上例子可以知道,

  同步會阻塞代碼執行,即必須等alert執行結束,才能執行下面的代碼,從上自下按順序執行;

  而異步則不會阻塞代碼執行,會跳“執行”,即跳過了定時器部分,先執行了後面的代碼,再回過來執行定時部分。

所有“等待的情況”都需要異步,如定時任務,網絡請求,事件綁定。

JS中同步與異步