當 JavaScript 出現非同步時
儘管人們普遍認為 JavaScript 是異步的,但它實際上是同步且單執行緒運行的。頁面上的所有 JavaScript 程式碼都依序執行,一次一行。
同步執行
JavaScript 程式碼同步執行各種任務,例如:
非同步回呼
JavaScript 透過使用回調來實現明顯的非同步執行。例如,AJAX 呼叫非同步執行,而其回調函數則同步運行。這種回調機制允許 JavaScript 在等待外部來源回應的同時執行其他程式碼。
JavaScript 計時器
同樣,JavaScript 計時器也利用回呼。指定時間後,回呼函數同步執行,而其餘程式碼繼續運作。
jQuery 的影響
jQuery 提供了一個選項(async: false)使 AJAX 呼叫同步。雖然這看起來很方便,但它可能會因為阻止頁面上的所有 JavaScript 執行而導致問題。
結論
JavaScript 的同步和單執行緒本質是它的運作。非同步執行是透過回調機制模擬的,不會幹擾同步程式碼的執行。 jQuery 的同步 AJAX 選項應謹慎使用,因為它可能會阻礙頁面回應能力。
以上是JavaScript 是真正的異步,還是只是一個聰明的錯覺?的詳細內容。更多資訊請關注PHP中文網其他相關文章!