JavaScript 背後的工作原理是什麼?
JavaScript 是一種相對較新的語言,與傳統的HTML & CSS 管道相比,它具有許多新特性和增強功能。在新時代,JavaScript 在相對較短的時間內佔據了大部分前端市場。它獲得了巨大的普及,並且是任何前端需求的首選語言。
在本文中,我們將探討傳統的 JavaScript 如何在前端模板中工作。它如何處理元素以及如何執行它們?
JavaScript 是一種同步的單執行緒語言,具有特定的執行順序。
JavaScript 函式內部的所有內容都在執行上下文中執行。
執行上下文主要由兩部分組成:
記憶體(即環境變數),其中包含所有變數和函式來儲存鍵和值;以及
另一部分由元件(執行執行緒)組成,它一次執行一行程式碼。
執行 JavaScript 函式或每當事件命中 JS 函式時,它都會開啟一個執行上下文執行緒。
示例
在下面的示例中,我們將檢視下面的指令碼並檢查函式如何逐行執行。我們將執行下面的函式並瞭解每個函式是如何執行的。
#檔名: script.js
<script> var m = 3; var n = 2; function sum(num1, num2) { var ans = num1 + num2; return ans; } var sumOfNos = sum(m, n); </script>
執行上述程式碼時,JavaScript 將建立一個執行執行緒上下文。此執行緒上下文將基本上將所需的 環境變數載入到記憶體中。
例如 - 在上面的函式中,變數 m、n 將載入到記憶體中,並在函式需要時使用。
遇到第一行時,它將這些變數儲存到記憶體中的保留記憶體中。
從上面的示例中,它將 m、n 和 sumOfNo 的值儲存在記憶體中。由於它只是保留空間,因此所有變數的預設值都將保留為 undefined。請參考下圖以更好地理解。
為所有變數和函式分配記憶體後,實際程式碼執行開始。此執行程式碼放置在元件內部,程式碼逐行執行。
如上述程式碼所示,我們首先將值初始化到記憶體中,即 m=3 & n=2
一旦值被初始化,sum() 函式就會被呼叫,它接收兩個輸入並返回這兩個數字的和。所有這些都在執行上下文中發生。它包含兩部分:記憶體和用於程式碼執行的元件階段。
一旦為所有函式和元件分配了記憶體,實際程式碼執行就使用實際值進行。
在下圖中,我們可以清楚地看到值已初始化,程式碼執行使用程式碼中的實際值進行。
最後,當遇到 return 時,此值將返回到呼叫該函式的程式的實際控制。
控制將返回答案,此答案將由實際呼叫此函式的使用者使用。
因此,JavaScript 程式碼的完整執行就是這樣在後臺進行的。