JavaScript一種直譯式腳本語言,是一種動態類型、弱類型、基於原型的語言,內置支持類型。它的解釋器被稱為JavaScript引擎,為瀏覽器的一部分,廣泛用於客戶端的腳本語言,最早是在HTML(標準通用標記語言下的一個套用)網頁上使用,用來給HTML網頁增加動態功能。
在1995年時,由Netscape公司的Brendan Eich,在網景導航者瀏覽器上首次設計實現而成。因為Netscape與Sun合作,Netscape管理層希望它外觀看起來像Java,因此取名為JavaScript。但實際上它的語法風格與Self及Scheme較為接近。
為了取得技術優勢,微軟推出了JScript,CEnvi推出ScriptEase,與JavaScript同樣可在瀏覽器上運行。為了統一規格,因為JavaScript兼容於ECMA標準,因此也稱為ECMAScript。
基本介紹
- 外文名:JavaScript
- 發行時間:1992年
- 設計者:Brendan Eich
- 實現者:Netscape、Mozilla基金會
- 編程范型:腳本語言、基於原型的面向對象
- 形態系統:動態類型
- 發源地:美國
組成部分
基本特點
- 是一種解釋性腳本語言(代碼不進行預編譯)。
日常用途
- 嵌入動態文本於HTML頁面。
- 對瀏覽器事件做出回響。
- 讀寫HTML元素。
- 在數據被提交到伺服器之前驗證數據。
- 檢測訪客的瀏覽器信息。
- 控制cookies,包括創建和修改等。
- 基於Node.js技術進行伺服器端編程。
歷史
特性
編程
console.log("a");//這是正確的 console.log("b");//這是正確的 console.logg("c");//這是錯誤的,並且到這裡會停下來 console.log("d");//這是正確的 console.log("e");//這是正確的 /*解決辦法*/ try{console.log("a");}catch(e){}//這是正確的 try{console.log("b");}catch(e){}//這是正確的 try{console.logg("c");}catch(e){}//這是錯誤的,但是到這裡不會停下來,而是跳過 try{console.log("d");}catch(e){}//這是正確的 try{console.log("e");}catch(e){}//這是正確的
版本
- Microsoft公司的JScript.
- Mozilla的JavaScript-C(C語言實現),現名SpiderMonkey
- Mozilla的Rhino(Java實現)
- Digital Mars公司的DMDScript
- Google公司的V8
版本 | 發布日期 | 基於 | Netscape Navigator | Mozilla Firefox | Internet Explorer | Opera | Safari | Google Chrome |
---|---|---|---|---|---|---|---|---|
1.0 | 1996年3月 | 2.0 | ||||||
1.1 | 1996年8月 | 3.0 | 3.0 | |||||
1.2 | 1997年6月 | 4.0-4.05 | ||||||
1.3 | 1998年10月 | ECMA-262 1 edition / ECMA-262 2 edition | 4.06-4.7x | 4.0 | ||||
1.4 | Netscape Server | |||||||
1.5 | 2000年11月 | ECMA-262 3 edition | 6.0 | 1.0 | 5.5 (JScript 5.5), 6 (JScript 5.6), 7 (JScript 5.7), 8 (JScript 6) | 6.0, 7.0, 8.0, 9.0 | ||
1.6 | 2005年11月 | 1.5 + Array extras + Array and String generics + E4X | 1.5 | 3.0, 3.1 | ||||
1.7 | 2006年10月 | 1.6 + Pythonic generators + Iterators + let | 2.0 | 3.2, 4.0 | 1.0 | |||
1.8 | 2008年6月 | 1.7 + Generator expressions + Expression closures | 3.0 | 11.50 | ||||
1.8.1 | 1.8 + Native JSON support + Minor Updates | 3.5 | ||||||
1.8.2 | 2009年6月22日 | 1.8.1 + Minor updates | 3.6 | |||||
1.8.5 | 2010年7月27日 | 1.8.1 + ECMAScript 5 Compliance | 4 | 9 | 11.60 |
比較
版本 | 說明 | 實現 |
---|---|---|
ECMA v1 | 標準化了JavaScript1.1的基本特性,並添加了一些新特性。沒有標準化switch語句和正則表達式。 | 由Netscape 4.5和IE 4實現。 |
ECMA v2 | ECMA v1的維護版本,只添加了說明 | 由Netscape 4.5和IE 4實現。 |
ECMA v3 | 標準化了switch語句、異常處理和正則表達式。 | 由Mozilla、Netscape 6和IE 5.5實現。 |