JavaScript(簡介)【Javascript歷史】

學習一門知識應該瞭解其背景,不少人認爲會用就行,起初我也是這麼認爲的,但後來才知道對起源的瞭解也很必要,從事javascript開發5年,今天開始總結一些筆記,分享下。javascript

一.什麼是JavaScriptjava

 

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

 

二.JavaScript特色編程

 

鬆散性windows

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

 

對象屬性瀏覽器

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

 

繼承機制服務器

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

 

三.JavaScript歷史

 

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

 

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

 

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

 

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

 

1997年,JavaScript 1.1做爲一個草案提交給歐洲計算機制造商協會(ECMA)。第39技術委員會(TC39)被委派來「標準化一個通用、跨平臺、中立於廠商的腳本語言的語法和語義」(http://www.ecma-international.org/memento/TC39.htm)。由來自NetscapeSun、微軟、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(平板電腦),而且在windowsLinux平臺都有相應版本。目前市場份額全球第四,但隨着蘋果的產品不斷的深刻人心,具備稱霸之勢。

 

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

 

四.JavaScript核心

 

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

1.核心(ECMAScript)

2.文檔對象模型(DOM)

3.瀏覽器對象模型(BOM)

 

ECMAScript介紹

ECMAScript-262定義的ECMAScriptWeb瀏覽器沒有依賴關係。ECMAScript定義的只是這門語言的基礎,而在此基礎之上能夠構建更完善的腳本語言。咱們常見的Web瀏覽器只是ECMAScript實現可能的宿主環境之一。

既然他不依賴於Web瀏覽器,那麼他還在哪些環境中寄宿呢?好比:ActionScriptScriptEase等。而他的組成部分有:語法、類型、語句、關鍵字、保留字、操做符、對象等。

 

ECMAScript版本

ECMAScript目前有四個版本,12345版本,能夠搜索查閱。

 

Web瀏覽器對ECMAScript的支持

到了2008年,五大主流瀏覽器(IEFirefoxSafariChromeOpera)所有作到了與ECMA-262兼容。其中,只有Firefox力求作到與該標準的第4版兼容。

 

文檔對象模型(DOM) 

文檔對象模型(DOMDocument Object Model)是針對XML但通過擴展用於HTML的應用程序編程接口(APIApplication Programming Interface)

DOM有三個級別,每一個級別都會新增不少內容模塊和標準(有興趣能夠搜索查詢) 

 

瀏覽器對象模型(BOM)

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

相關文章
相關標籤/搜索