From 218934fa2ed1c702a6d3923d2aa2cc6b43c48684 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:43:23 -0500 Subject: initial commit --- .../javascript_technologies_overview/index.html | 80 ++++++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 files/zh-tw/web/javascript/javascript_technologies_overview/index.html (limited to 'files/zh-tw/web/javascript/javascript_technologies_overview') diff --git a/files/zh-tw/web/javascript/javascript_technologies_overview/index.html b/files/zh-tw/web/javascript/javascript_technologies_overview/index.html new file mode 100644 index 0000000000..7abcda9c85 --- /dev/null +++ b/files/zh-tw/web/javascript/javascript_technologies_overview/index.html @@ -0,0 +1,80 @@ +--- +title: JavaScript 技術概觀 +slug: Web/JavaScript/JavaScript_technologies_overview +tags: + - DOM + - JavaScript +translation_of: Web/JavaScript/JavaScript_technologies_overview +--- +

{{JsSidebar("Introductory")}}

+ +

簡介

+ +

在網頁中,HTML 存放網頁的內容與格式,CSS 註記內容的呈現樣式;而 JavaScript 則用來產生豐富的效果或網頁應用程式。然而,在網頁瀏覽器中通稱的「JavaScript」是由眾多截然不同的要素所構成。其中之一是核心語言(ECMAScript),另一個則是 DOM(文件物件模型,Document Object Model)。

+ +

JavaScript 的核心語言(ECMAScript)

+ +

JavaScript 的核心語言是由 ECMA TC-39 委員會統一標準,並且命名為 ECMAScript 。隨著最新版本的規格 ECMAScript 5 在 2011 年 3 月推出,大部分最新的網頁瀏覽器實作了 ECMAScript 3 與部分的 ECMAScript 5。

+ +

ECMAScript 包含了什麼?

+ +

ECMAScript 主要定義了以下的內容:

+ + + +

瀏覽器支援

+ +

根據以前的經驗,ECMAScript 的功能都有良好且互通的支援。截至 2011 年 6 月,ECMAScript 5 的支援在不同瀏覽器實作之間存在差異。有些文件整理了各瀏覽器對 ECMAScript 5 的支援情形。

+ +

未來發展

+ +

自 1999 年 ECMA-262 第三版發行後,原先計畫將在 ECMAScript 的第四版(ECMAScript 4 或 ES4)進行首次的重大改動。然而,2008 年 8 月後,ECMAScript 第四版的提案已被縮減並編列至一個代號為 ECMAScript Harmony 的計畫,此計畫中定義了代理(Proxy)與關鍵字 const 等新要素。ECMAScript 的發展可以參考這裡

+ +

DOM(文件物件模型)

+ +

WebID

+ +

WebIDL 規格書 是 DOM 技術與 ECMAScript 之間相互黏合的基礎。

+ +

DOM 核心

+ +

W3C 統一規範了文件物件模型的核心部分。它定義了無關語言而將 HTML 與 XML 文件抽象化為物件的介面,以及對抽象化物件進行處理的機制。在 DOM 的定義中包含:

+ + + +

以 ECMAScript 的觀點來看,DOM 規範所定義的物件被稱為宿主物件(Host objects)  。

+ +

HTML DOM

+ +

網頁標記語言 HTML 是依據 DOM 來規格化。在 DOM 核心中,定義了虛擬概念的分層,而 HTML 也定義了元素的意義。 HTML DOM 包含了 HTML 元素的 className 屬性諸如 {{ domxref("document.body") }} 的 API。

+ +

HTML 的規格書也定義了在文件上的一些限制;例如,他要求所有 ul 元素(代表無順序編號的清單)的子元素必須是 li 元素(代表清單中的項目)。而未在標準中定義的元素和屬性通常在規格中被禁用。

+ +

其他重要的 API

+ + + +

瀏覽器支援

+ +

每個網頁開發者都曾經體會過 一團混亂的 DOM 支援狀況。某些功能上不同瀏覽器的支援可能差異很大,因為過去重要的 DOM 功能都沒有明確的規範,進而使不同網頁瀏覽器對相同的使用情境實踐了互不相容的功能(像是 Internet Explorer 的事件模型)。最近(截至 2011年6月),由 W3C 與(特別是)WHATWG 對舊功能重新進行詳盡的定義以提升互通性成為了趨勢 。為了跟進這個趨勢,許多網頁瀏覽器也根據這些新規格改進它們的實作。

+ +

雖然並未完全可靠,使用 JavaScript 函式庫是解決跨瀏覽器相容問題的最普遍方式。 這些函式庫將 DOM 的功能抽象化,確保其 API 在不同的瀏覽器中能以相似的方式運作。廣為被使用的框架包括 jQueryprototype 和 YUI

-- cgit v1.2.3-54-g00ecf