在JavaScript中,一個線程執行的時候不依靠其他線程處理完畢我們稱為非同步,相反一個線程必須等待直到另一個線程處理完畢我們則稱為同步。打個比方: (1)同步就是你在煮速食麵的時候必須等水開了,你才會放調料和速食麵; (2)非同步就是你在煮速食麵的時候不需要等水開了,你可以剛開始開火的時候,就放調料 ...
在JavaScript中,一個線程執行的時候不依靠其他線程處理完畢我們稱為非同步,相反一個線程必須等待直到另一個線程處理完畢我們則稱為同步。
打個比方:
(1)同步就是你在煮速食麵的時候必須等水開了,你才會放調料和速食麵;
(2)非同步就是你在煮速食麵的時候不需要等水開了,你可以剛開始開火的時候,就放調料和速食麵;
在JS中同步非同步與阻塞非阻塞其實沒有本質的區別,我們往往指的是一回事,因為JS是單線程的。
但是js執行環境是多線程的,想要達到阻塞效果,可以通過同步或者alert()
在做後臺系統中,後臺系統的菜單是根據登陸者的許可權不同來分配使用的菜單界面,這個時候就需要用同步的阻塞特性來先生成這個這個菜單界面,而且這個同步js需要寫在body之前。