[01]JavaScript的概述

JavaScript的概述:javascript

JavaScript 誕生於 1995 年。它當時的目的是爲了驗證表單輸入的驗證。由於在 JavaScript問世以前,表單的驗證都是經過服務器端驗證的。而當時都是電話撥號上網的年代,服務器驗證數據是一件很是痛苦的事情。css

通過許多年的發展,JavaScript 從一個簡單的輸入驗證成爲一門強大的編程語言。因此 ,學會使用它是很是簡單的,而真正掌握它則須要很漫長的時間。那麼本套視頻就帶領你們進入 JavaScript 課堂,去學習和理解它。html

一. 什麼是 JavaScript

JavaScript 是一種具備面向對象能力的、解釋型的程序設計語言。更具體一點,它是基於對象和事件驅動並具備相對安全性的客戶端腳本語言。由於他不須要在一個語言環境下運行,而只須要支持它的瀏覽器便可。它的主要目的是,驗證發往服務器端的數據、增長 Web互動、增強用戶體驗度等。java

二.JavaScript 特色

鬆散性
JavaScript 語言核心與 C、C++、Java 類似,好比條件判斷、循環、運算符等。但,它倒是一種鬆散類型的語言,也就是說,它的變量沒必要具備一個明確的類型。程序員

對象屬性
JavaScript 中的對象把屬性名映射爲任意的屬性值。它的這種方式很像哈希表或關聯數組,而不像 C 中的結構體或者 C++、Java 中的對象。編程

繼承機制
JavaScript 中的面向對象繼承機制是基於原型的,這和另一種不太爲人所知的 Self 語言很像,而和 C++以及Java 中的繼承大不相同。windows

三.JavaScript 歷史

引子
大概在 1992 年,有一家公司 Nombas 開發一種叫作 C–(C-minus-minus,簡稱 Cmm)的嵌入式腳本語言。後應以爲名字比較晦氣,最終更名爲 ScripEase。而這種能夠嵌入網頁中的腳本的理念將成爲因特網的一塊重要基石。數組

誕生
1995 年,當時工做在 Netscape(網景)公司的布蘭登(Brendan Eich)爲解決相似於「向服務器提交數據以前驗證」的問題。在 Netscape Navigator 2.0 與 Sun 公司聯手開發一個稱之爲LiveScript 的腳本語言。爲了營銷便利,以後改名爲 JavaScript(目的是在 Java 這課大樹下好乘涼)。瀏覽器

邪惡的後來者
由於 JavaScript 1.0 如此成功,因此微軟也決定進軍瀏覽器,發佈了 IE 3.0 並搭載了一個 JavaScript 的克隆版,叫作 JScript(這樣命名是爲了不與 Netscape潛在的許可糾紛),而且也提供了本身的 VBScript。安全

標準的重要
在微軟進入後,有 3 種不一樣的 JavaScript 版本同時存在:NetscapeNavigator 3.0 中的JavaScript、IE 中的 JScript 以及 CEnvi 中的 ScriptEase。與 C 和其餘編程語言不一樣的是,JavaScript 並無一個標準來統一其語法或特性,而這 3 種不一樣的版本偏偏突出了這個問題。隨着業界擔憂的增長,這個語言標準化顯然已經勢在必行。

ECMA
1997 年,JavaScript 1.1 做爲一個草案提交給歐洲計算機制造商協會(ECMA)。第 39技術委員會(TC39)被委派來「標準化一個通用、跨平臺、中立於廠商的腳本語言的語法和語義」(http://www.ecma-international.org/memento/TC39.htm)。由來自 Netscape、Sun、微軟、Borland 和其餘一些對腳本編程感興趣的公司的程序員組成的TC39 錘鍊出了ECMA-262,該標準定義了叫作 ECMAScript 的全新腳本語言。

靈敏的微軟、遲鈍的網景
雖然網景開發了 JavaScript 並首先提交給 ECMA 標準化,但因計劃改寫整個瀏覽器引擎的緣故,網景晚了整整一年才推出「徹底遵循ECMA 規範」的 JavaScript1.3。而微軟早在一年前就推出了「徹底遵循 ECMA 規範」的 IE4.0。這致使一個直接惡果:JScript 成爲 JavaScript語言的事實標準。

標準的發展
在接下來的幾年裏,國際標準化組織及國際電工委員會(ISO/IEC)也採納 ECMAScript做爲標準(ISO/IEC-16262)。今後,Web 瀏覽器就開始努力(雖然有着不一樣程度的成功和失敗)將 ECMAScript 做爲 JavaScript 實現的基礎。

山寨戰勝原創
JScript 成爲 JavaScript 語言的事實標準,加上 Windows 綁定着 IE 瀏覽器,幾乎佔據所有市場份額,所以,1999 年以後,全部的網頁都是基於 JScript 來開發的。而 JavaScript1.x
變成可憐的兼容者。

網景的沒落與火狐的崛起
網景在微軟強大的攻勢下,1998 年全面潰敗。但,星星之火能夠燎原。同年成立 Mozilla項目中Firefox(火狐瀏覽器)在支持 JavaScript 方面無可比擬,在後來的時間裏一步步蠶食 IE的市場,成爲全球第二大瀏覽器。

谷歌的野心
Google Chrome,又稱 Google 瀏覽器,是一個由Google(谷歌)公司開發的開放原始碼網頁瀏覽器。他以簡潔的頁面,極速的瀏覽,一舉成爲全球第三大瀏覽器。隨着移動互聯網的普及,嵌有 Android 系統的平板電腦和智能手機,在瀏覽器這塊將大有做爲。

蘋果的戰略
Safari 瀏覽器是蘋果公司各類產品的默認瀏覽器,在蘋果的一體機(iMac)、筆記本(Mac) 、MP4(ipod)、iphone(智能手機)、ipad(平板電腦),而且在 windows 和 Linux 平臺都有相應版本。目前市場份額全球第四,但隨着蘋果的產品不斷的深刻人心,具備稱霸之勢。

倖存者
Opera 的全球市場份額第五,2%左右。它的背後沒有財力雄厚的大公司,但它從「瀏覽器大戰」存活下來的,有着很是大的潛力。

四.JavaScript 核心

雖然 JavaScript 和 ECMAScript 一般被人們用來表達相同的含義,但 JavaScript 的含義卻比ECMA-262中規定的要多得多。一個完整的JavaScript應該由下列三個不一樣的部分組成。

1.核心(ECMAScript)
2.文檔對象模型(DOM)
3.瀏覽器對象模型(BOM)

ECMAScript 介紹
由 ECMAScript-262 定義的 ECMAScript 與 Web 瀏覽器沒有依賴關係。ECMAScript 定義的只是這門語言的基礎,而在此基礎之上能夠構建更完善的腳本語言。咱們常見的 Web瀏覽器只是 ECMAScript 實現可能的宿主環境之一。
既然他不依賴於 Web 瀏覽器,那麼他還在哪些環境中寄宿呢?好比:ActionScript、ScriptEase 等。而他的組成部分有:語法、類型、語句、關鍵字、保留字、操做符、對象等。

ECMAScript 版本
ECMAScript 目前有四個版本,一、二、三、四、5 版本,這裏再也不進行詳細探討。有興趣的能夠搜索查閱。

Web 瀏覽器對 ECMAScript 的支持
到了 2008 年,五大主流瀏覽器(IE、Firefox、Safari、Chrome、Opera)所有作到了與ECMA-262 兼容。其中,只有 Firefox 力求作到與該標準的第 4 版兼容。如下是支持表(僅供參考使用!)。

瀏 覽 器 ECMAScript 兼容性
Netscape Navigator 2 ----
Netscape Navigator 3 ----
Netscape Navigator 4 – 4.05 ----
Netscape Navigator 4.06 – 4.79 第 1 版
Netscape 6+ (Mozilla 0.6.0+) 第 3 版
Internet Explorer 3 ----
Internet Explorer 4 ----
Internet Explorer 5 第 1 版
Internet Explorer 5.5 – 7 第 3 版
Internet Explorer 8 第 3.1 版(不徹底兼容)
Internet Explorer 9 第 5 版
Opera 6 - 7.1 第 2 版
Opera 7.2+ 第 3 版
Opera 11+ 第 5 版
Safari3+ 第 3 版
Firefox 1–2 第 3 版
Firefox 3/4/5/6/7/8/9 第 3/5 版

文檔對象模型 (DOM)

文檔對象模型(DOM,Document Object Model)是針對 XML 但通過擴展用於 HTML 的應用程序編程接口(API,Application Programming Interface)。

DOM 有三個級別,每一個級別都會新增不少內容模塊和標準(有興趣能夠搜索查詢)。如下是主流瀏覽器對 DOM 支持的狀況:

瀏 覽 器 DOM 兼容性
Netscape Navigator 1 – 4.x ----
Netscape Navigator 6+(Mozilla 0.6.0+) 1 級、2 級(幾乎所有)、3 級(部分)
Internet Explorer 2 – 4.x ----
Internet Explorer 5 1 級(最小限度)
Internet Explorer 5.5 – 7 1 級(幾乎所有)
Opera 1 – 6 ----
Opera 7 – 8.x 1 級(幾乎所有)、2 級(部分)
Opera 9+ 1 級、2 級(幾乎所有)、3 級(部分)
Safari 1.0x 1 級
Safari 2+ 1 級、2 級(部分)
Chrome 0.2+ 1 級、2 級(部分)
Firefox 1+ 1 級、2 級(幾乎所有)、3 級(部分)

瀏覽器對象模型 (BOM)
訪問和操做瀏覽器窗口的瀏覽器對象模型(BOM,Browser Object Model)。開發人員使用 BOM 能夠控制瀏覽器顯示頁面之外的部分。而 BOM 真正不同凡響的地方(也是常常會致使問題的地方),仍是它做爲JavaScript 實現的一部分,至今仍沒有相關的標準。

JavaScript 版本
身爲 Netscape「繼承人」的 Mozilla 公司,是目前惟一沿用最初的JavaScript 版本編號的瀏覽器開發商。在網景把 JavaScript 轉手給Mozilla 項目的時候,JavaScript 在瀏覽器中最後的版本號是 1.3。後來,隨着 Mozilla 繼續開發,JavaScript 版本號逐步遞增。

瀏 覽 器 JavaScript 版本
Netscape Navigator 2 1.0
Netscape Navigator 3 1.1
Netscape Navigator 4 1.2
Netscape Navigator 4.06 1.3
Netscape 6+ (Mozilla 0.6.0+) 1.5
Firefox 1 1.5
Firefox 1.5 1.6
Firefox 2 1.7
Firefox 3 1.8
Firefox 3.1+ 1.9

五. 開發工具集

代碼編輯器:Notepad++。 瀏覽器:谷歌瀏覽器,火狐瀏覽器,IE 瀏覽器,IETest 工具等。 PS:學習 JavaScript 須要必定的基礎,必須有 xhtml+css 基礎、至少一門服務器端編程 語言的基礎(好比 PHP)、一門面向對象技術(好比 Java)、至少有一個 Web 開發的項目基礎(例如留言板程序等)。

相關文章
相關標籤/搜索