JavaScript 簡介

JavaScript主要用於網頁開發,網頁三巨頭HTML/CSS/JavaScript,他們各司其職,相輔相成: 1995年由網景(Netscape)的Brendan Eich發明了JavaScript。為一種腳本語言(Scripting language),為直譯式語言, 其指令碼通常是直接翻譯執行,不進行預編譯。

JavaScript 是個跨平台、物件導向、輕小型的腳本語言。為了能簡單嵌入其他產品和應用程式(例如:網頁瀏覽器)而設計。 JavaScript 若寄宿在主體環境(Host environment)時,可以與環境中的物件 (Object)相連,並以程式控制這些物件。

Core JavaScript 包含了物件的核心集合(例如: Array Date Math) 及語言成份的核心集合(例如:運算子控制結構敘述)。

JavaScript的功能擴充

在 Core JavaScript 增加額外的物件即可擴充各式各樣的功能,例如:

用戶端 - JavaScript 藉由提供物件來擴增核心語言達到控制網頁瀏覽器和其文件物件模型 (DOM,Document Object Model)的目的。 舉例來說:用戶端的擴充套件允許某個應用程式將元素放置在 HTML 的表單上及對使用者的操作(例如:滑鼠點選、表單輸入、頁面導覽等)做出回應。

伺服器端 - JavaScript 藉由提供和伺服器上執行 JavaScript 相關的物件來擴增核心語言。 舉例來說:伺服器端的擴充套件允許某個應用程式和相關的資料庫交換訊息、對一個其他應用程式的呼叫提供連續性的資訊、在伺服器上執行檔案操作。

JavaScript的發展

透過 JavaScript 的 LiveConnect 功能,你可以使 Java 和 JavaScript 的程式碼彼此相連。在 JavaScript 的程式碼中,你可以實例化(instantiate)Java 的物件 並存取那些物件的公有方法(public methods)及欄位(fields)。在 Java 的程式碼中,你可以存取 JavaScript 的物件、屬性(properties)及方法(methods)。

JavaScript透過BOM(瀏覽器物件模型)下的DOM(文件物件模型)去控制改變網頁的內容樣式,並產生互動行為。 除了用於前端,近年來隨著V8引擎如和Node.js框架的發展以及HTML5和CSS3語言標準的推行,JavaScript還可用於遊戲、桌面和行動應用程式的開發, 也逐漸被用來編寫伺服器端程式在伺服器端網路環境執行。

關於ECMAScript(簡稱ES)

1997年6月,ECMA以JavaScript語言為基礎制定了ECMAScript(簡稱ES), 而ES是遵循ECMA-262標準規範的腳本語言,為JavaScript的核心規範,其描述了該語言的語法和基本物件, ES版本不斷的更新,最常看到的為ES5(ECMAScript第五版,此規範幾乎所有現代瀏覽器都支援); ES6(ECMAScript第六版,此規範大部分的現代瀏覽器都支援,不支援IE), 關於ECMAScript各版本的差異及瀏覽器支援的資訊,可參考W3schools上的整理。

參考資料