學習要點:html
1.什麼是JavaScriptjava
2.JavaScript特色程序員
3.JavaScript歷史編程
4.JavaScript核心windows
JavaScript誕生於1995年。它當時的目的是爲了驗證表單輸入的驗證。由於在JavaScript問世以前,表單的驗證都是經過服務器端驗證的。而當時都是電話撥號上網的年代,服務器驗證數據是一件很是痛苦的事情。瀏覽器
通過許多年的發展,JavaScript從一個簡單的輸入驗證成爲一門強大的編程語言。因此,學會使用它是很是簡單的,而真正掌握它則須要很漫長的時間。安全
一.什麼是JavaScript服務器
JavaScript是一種具備面向對象能力的、解釋型的程序設計語言。更具體一點,它是基於對象和事件驅動並具備相對安全性的客戶端腳本語言。由於他不須要在一個語言環境下運行,而只須要支持它的瀏覽器便可。它的主要目的是,驗證發往服務器端的數據、增長Web互動、增強用戶體驗度等。iphone
二.JavaScript特色 編程語言
鬆散性:javaScript是一種鬆散類型的語言,也就是說,它的變量沒必要具備一個明確的類型。
對象屬性:JavaScript中的對象把屬性名映射爲任意的屬性值。
繼承機制:JavaScript中的面向對象繼承機制是基於原型的。
三.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目前有四個版本,1、2、3、4、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 |