1. 程式人生 > >JavaScript-非同步執行原理

JavaScript-非同步執行原理

1.非同步任務?

  我的理解就是需要使用者觸發的事件,定、延時器,簡單理解就是未來才會發生的事件就是非同步事件,

 原理:js是一個單執行緒的語言,中所有的程式碼塊都可以按照任務分為兩種任務:一種是同步任務,一種是非同步任務。

   js執行程式時遇到這兩種任務,會按照同步和非同步兩種類別進行識別對待。.

    1.同步任務進入主執行緒,從上往下執行,一條一條程式碼執行,形成一個叫執行棧的東西

    2.非同步任務會進入另外一個任務佇列中,要等待主執行緒執行完了,才會執行(非同步池)

  總結:1.非同步任務是等同步任務全部執行完畢之後,才會執行!

     2.非同步任務池中,誰先執行完成,就返會誰到主執行緒上,先執行

1         setInterval(function(){     // 2
2             console.log('我是非同步執行的程式1111');
3         } , 2000);
4         setInterval(function(){     // 1
5             console.log('我是非同步執行的程式2222');
6         } , 1000);
7 
8         console.log('我是同步執行的程式')

&n