JavaScript 如何成為一種解釋型語言?
JavaScript 是一種輕量級解釋型語言,因此在 Web 瀏覽器環境中,您甚至不需要購買編譯器。您可以從簡單的文字編輯器(例如記事本)開始。
為了簡化我們的工作,各種廠商都推出了非常不錯的 JavaScript 編輯工具。其中一些列在下面:
Microsoft FrontPage − 微軟開發了一個流行的 HTML 編輯器,稱為 FrontPage。FrontPage 還為 Web 開發人員提供許多 JavaScript 工具,以協助建立互動式網站。
Macromedia Dreamweaver MX − Macromedia Dreamweaver MX 是專業 Web 開發人員中非常流行的 HTML 和 JavaScript 編輯器。它提供了一些方便的預構建 JavaScript 元件,可以很好地與資料庫整合,並符合 XHTML 和 XML 等新標準。
Macromedia HomeSite 5 − HomeSite 5 是 Macromedia 推出的一款廣受歡迎的 HTML 和 JavaScript 編輯器,可以有效地管理個人網站。
什麼是解釋型語言?
解釋型語言是一種不需要編譯成機器語言的語言。它由直譯器執行,直譯器讀取原始碼並將其轉換為直接執行的形式。直譯器逐行執行程式碼,這使得 JavaScript 本質上是同步的。
像 C 和 C++ 這樣的語言需要一個編譯器將程式轉換為位元組碼,然後由機器執行;編譯器一次執行整個程式,這提高了執行速度;而 JavaScript 不需要編譯器;它直接由瀏覽器執行,瀏覽器逐條指令解釋程式。由於直譯器逐條指令執行程式,這導致執行速度較慢。
現代瀏覽器中的 JavaScript 引擎
不同的瀏覽器使用不同的引擎來執行 JavaScript 程式。Google Chrome 使用V8引擎來執行 JavaScript 程式碼,而 Mozilla 使用SpiderMonkey,Safari 瀏覽器使用JavaScriptCore,Internet Explorer 瀏覽器使用Chakra引擎。為了確保 JavaScript 程式在所有瀏覽器中的執行方式完全相同,瀏覽器必須實現 ECMA 國際提供的名為 ECMAScript 的指令碼。
ECMAScript解釋瞭如何實現 JavaScript。在 JavaScript 中,一切都是物件,ECMAScript 假設一個“宿主環境”,定義為物件定義的提供者。
ECMAScript 的最新版本是 ES-13,這是 2022 年 6 月釋出的當前版本。
每個 ES 版本都使 JavaScript 變得更好,瀏覽器會根據 ES 的最新版本更新其引擎,以便能夠使用最新功能執行 JavaScript 程式碼。
JavaScript 是一種解釋型語言,不需要在執行前進行編譯,但 V8 會在執行之前將 JavaScript 編譯為本地機器碼以提高效能,而不是執行位元組碼或解釋它。
示例:演示 JavaScript 作為解釋型語言
以下示例演示了 JavaScript 如何成為解釋型語言:
// This is a simple JavaScript function that calculates the sum of two numbers function sum(a, b) { return a + b; } // We can call the function and print the result to the console console.log(sum(1, 2)); // prints 3 to the console // Now let's modify the function to calculate the product of the two numbers instead function sum(a, b) { return a * b; } // If we run the same code again, we'll see that the function now calculates the product instead of the sum console.log(sum(1, 2)); // prints 2 to the console
在上例中,我們定義了一個名為 sum() 的函式,用於計算兩個數字的和。然後我們呼叫該函式並將結果列印到控制檯。
接下來,我們將函式修改為計算兩個數字的乘積而不是和。如果我們重新執行相同的程式碼,我們將看到該函式計算的是乘積而不是和,即使程式碼沒有被編譯或轉換。這演示了 JavaScript 如何成為解釋型語言,因為程式碼直接由 JavaScript 引擎執行而無需編譯。
結論
JavaScript 使用直譯器執行,這使其成為解釋型語言,但是直譯器逐條指令執行程式;這使得整體執行速度變慢。由於 JavaScript 使用直譯器執行,因此不需要編譯器,此功能使 JavaScript 能夠在任何輕量級應用程式(如記事本)上執行。瀏覽器使用不同的引擎來執行 JavaScript 程式碼,這些引擎需要實現 ECMAScript,以便所有不同的瀏覽器都能產生相同的結果。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP