JavaScript|異步編程
1.異步的概念
**異步(Asynchronous, async)是與同步(Synchronous, sync)**相對的概念。在我們學習的傳統單線程編程中,程序的運行是同步的(步驟在一個控制流序列中按順序執行)。而異步的概念則是不保證同步的概念,也就是說,一個異步過程的執行將不再與原有的序列有順序關系。簡單來理解就是:同步按你的代碼順序執行,異步不按照代碼順序執行,異步的執行效率更高。異步就是從主線程發射一個子線程來完成任務。
2.回調函數
回調函數就是一個函數,它是在我們啟動一個異步任務的時候就告訴它:等你完成了這個任務之后要干什么。這樣一來主線程幾乎不用關心異步任務的狀態了。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>異步編程</title> </head> <body> <p>等待4秒過后執行</p> <p id="p2">太陽</p> <p id="p3">月亮</p> <script> function sayHello(){ document.getElementById("p2").innerHTML = "Hello!Sun"; } setTimeout(sayHello,4000); </script> </body> </html>
-
1
-
2
-
3
-
4
-
5
-
6
-
7
-
8
-
9
-
10
-
11
-
12
-
13
-
14
-
15
-
16
-
17
-
18
-
19
-
20
-
21
-
22
等待四秒過后:
主線程并未停止,body中的內容正常運行,而當4秒回調過后,子函數運行結果就改變了h2的值。
藍藍設計建立了UI設計分享群,每天會分享國內外的一些優秀設計,如果有興趣的話,可以進入一起成長學習,請掃碼ben_lanlan,報下信息,會請您入群。歡迎您加入噢~~希望得到建議咨詢、商務合作,也請與我們聯系。
文章來源:csdn
分享此文一切功德,皆悉回向給文章原作者及眾讀者.
免責聲明:藍藍設計尊重原作者,文章的版權歸原作者。如涉及版權問題,請及時與我們取得聯系,我們立即更正或刪除。
藍藍設計( m.paul-jarrel.com )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 、平面設計服務