第九十六節,JavaScript概述

JavaScript概述css

 

學習要點:html

1.什麼是JavaScript程序員

2.JavaScript特色編程

3.JavaScript歷史windows

4.JavaScript核心數組

5.開發工具集瀏覽器

 

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

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

 

一.什麼是JavaScriptiphone

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

 

二.JavaScript特色

鬆散性

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

對象屬性

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

繼承機制

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

 

三.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版本同時存在:Netscape Navigator 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版

Safari 3+

第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++。(在360軟件管家裏找到,直接下載安裝便可)

瀏覽器:谷歌瀏覽器,火狐瀏覽器,IE瀏覽器,IETest工具等。

PS:學習JavaScript須要必定的基礎,必須有xhtml+css基礎、至少一門服務器端編程語言的基礎(好比PHP)、一門面向對象技術(好比Java)、至少有一個Web開發的項目基礎(例如留言板程序等)。

相關文章
相關標籤/搜索