1. 程式人生 > >JavaScript 筆記一:背景介紹

JavaScript 筆記一:背景介紹

一、認識 JavaScript

1.網站開發模式: 設計,前端,後端
2.Web 前段:HTML, CSS, js
3.JavaScript 是一種輕量級的指令碼語言;
  JavaScript一種直譯式指令碼語言;
  是一種動態型別、弱型別、基於原型的語言,內建支援型別;
  是一些簡單指令的組合;

	可以應用於多種環境中,最常見的應用環境就是瀏覽器。
	它的直譯器被稱為 JavaScript引擎,為瀏覽器的一部分,廣泛用於客戶端的指令碼語言,最早是在 HTML(標準通用標記語言下的一個應用)網頁上使用,用來給 HTML 網頁增加動態功能。

二、JavaScript 的歷史

JavaScript 因為網際網路而生,緊隨著瀏覽器的出現而問世。回顧它的歷史,可以從瀏覽器的歷史講起。
1990年底,歐洲核能研究組織(CERN)科學家 Tim Berners-Lee(蒂姆 伯納斯-李),他是第一個使用超文字來分享諮詢的人,發明了全球資訊網 World Wide Web,後來改名為 Nexus。
	Berners-Lee 和 Jean-Francois Groff 將 www 移植到C,並把這個瀏覽器改名為 libwww。
1992年底,美國伊利諾州的伊利諾大學的國家超級計算機應用中心(National Center for Supercomputing Applications,簡稱NCSA),發表了一個瀏覽器,命名為“Mosaic”(馬賽克)。
	它最初是一個只在 Unix 上執行的影象瀏覽器;很快便發展到在 Apple Macintosh 和 Microsoft Windows都能執行。
1993年9月,釋出了 1.0 版本。
1994年4月4日,MOSAIC 開發的中心人物 Marc Andreesen (馬克·安德森)和 Silicon Graphic(計算機繪圖用的高效能運算機制造公司,簡稱為SGI,中譯則是“視算科技”或“矽圖”)公司的創始人 Jim Clark (吉姆·克拉克)在美國加州設立了“MOSAIC Communication Corp”(Mosaic 通訊公司)。Mosaic 公司成立後,由於美國伊利諾伊大學的 NCSA 擁有 Mosaic 的商標版權,且伊利諾伊大學已將技術轉讓給望遠鏡娛樂公司(Spyglass Entertainment),開發團隊必須徹底重新撰寫瀏覽器程式碼。
1994年10月13日,該公司開發的瀏覽器 Mosaic Netscape 0.9 釋出,雖然仍是 beta 版本,該瀏覽器獲得重大成功,成為當時最熱門的瀏覽器。
1994年11月14日,為了避免和 NCSA 的商標擁有權問題,更名為網景通訊公司(Netscape Communications Corporation)。
1994年12月,網景瀏覽器 1.0 正式版釋出,軟體改名為網景導航者(Netscape Navigator), 市場份額一舉超過90%。
1995年5月,Brendan Eich 只用10天,就設計完成了這種語言的第一版 liveScript。它是一個大雜燴,語法有多個來源:
	基本語法:借鑑 C 語言和 Java 語言
	資料結構:借鑑 Java 語言,包括將值分成原始值和物件兩大類
	函式的用法:借鑑 Scheme 語言和 Awk 語言,將函式當做第一等公民,並引入閉包。
	原型繼承模型:借鑑 Self 語言( Smalltalk 的一種變種)。
	正則表示式:借鑑 Perl 語言
	字串和陣列處理:借鑑 Python 語言。
1995年12月4日,Netscape 公司與 Sun 公司聯合釋出了 JavaScript 語言。為了處理客戶端的一些簡單的驗證。
1996年3月,Navigator 2.0 瀏覽器正式內建了JavaScript 指令碼語言
1996年8月,微軟模仿 JavaScript 開發了一種相近的語言,取名為 JScript(JavaScript 是 Netscape 的註冊商標,微軟不能用),首先內置於 IE 3.0。 Netscape 公司面臨喪失瀏覽器指令碼語言的主導權的局面。
1997年 IE4 與 NN4 平分天下。網景公司將 JavaScript 交給 ECMA 組織,以此來抵制微軟的壟斷。(發展初期,JavaScript 的標準並未確定,同期有 Netscape 的 JavaScript,微軟的 JScript 和 CEnvi 的 ScriptEase 三足鼎立。1997年,在 ECMA(歐洲計算機制造商協會)的協調下,由 Netscape、Sun、微軟、Borland 組成的工作組確定統一標準:ECMA-262 即 ECMAScript。)
1998年,ISO/IEC採用了 ECMAScript 作為標準,即 ISO/IEC-16262。

三、JavaScript的組成

1.核心:ECMAScript -- 描述語言的基本語法和基本物件,包括:運算子與表示式,流程控制,函式,陣列Array,字串String,Math,日期Date;
2.文件物件模型(DOM: Document Object Model):描述處理網頁內容的方法和介面;
3.瀏覽器物件模型(BOM:Browser Object Model):描述與瀏覽器進行互動的方法和介面。

四、JavaScript的用途

1.嵌入動態文字到 HTML 頁面中;
2.對瀏覽器事件做出相應;
3.讀寫 HTML 元素;
4.在資料被提交到伺服器之前驗證資料;
5.檢測訪客的瀏覽器資訊;
6.控制 cookies, 包括建立和修改等。

五、JavaScript 的特點

JavaScript 是一種屬於網路的指令碼語言,已經被廣泛應用於 Web 應用開發,常用來為網頁新增各式各樣的動態功能,為使用者提供流暢美觀的瀏覽效果。通常 JavaScript 指令碼是通過嵌入在 HTML 中來實現自身的功能的。
1.是一種解釋性指令碼語言(程式碼不進行預編譯);
2.主要用來向 HTML 頁面新增互動行為;
3.可以直接嵌入到 HTML 頁面,但寫成單獨的 js 檔案有利於結構和行為的分離;
4.跨平臺特性,在絕大多數瀏覽器的支援下,可以在多種平臺下執行(如 Windows, Linux, Mac, Andriod, iOS等)。

JavaScript指令碼語言同其他語言一樣,有自身的基本資料型別,表示式和算術運算子以及城鄉的基本程式框架。

六、各個瀏覽器以及 JavaScript 的版本:

1996年3月
1998年 ECMAScript 2.0
1999年 ECMAScript 3.0
2008年 ECMAScript 4.0 因為升級太大,廢棄
2011年 ECMAScript 5.0 釋出,並且成為 ISO 國際標準(ISO/IEC 16262:2011)。 到了 2012 年底,所有主要瀏覽器都支援 ECMAScript 5.1 版的全部功能。
2015年 ECMAScript 6.0 改名為 ECMAScript2015

七、ECMAScript

由 ECMA-262 定義的 ECMAScript 與 Web 瀏覽器沒有依賴關係。
ECMA-262 只是定義了這門語言的基礎,而在此基礎之上可以構建更完善的指令碼語言。
我們常見的 Web 瀏覽器 只是 ECMAScript 實現可能的宿主環境之一。宿主環境不僅提供基本的 ECMAScript 實現,同時,也提供該語言的擴充套件,以便語言與環境之間對接互動。這些擴充套件---如DOM,則利用 ECMAScript 的核心型別和語法提供更多具體的功能,以便實現針對環境的操作。
其他的宿主環境包括 Node (一種服務端 JavaScript 平臺) 和 Adobe Flash。

ECMAScript 就是對實現該標準規定了各方面內容的語言的描述。JavaScript 實現了 ECMAScript, Adobe ActionScript 也實現了 ECMAScript。

1.ECMAScript 的版本

ECMA-262 第二版主要是編輯加工結果。
ECMA-262 第三版本才是對該標準第一次真正的修改。修改內容涉及字串處理,錯誤定義和數值輸出。增加了正則表示式,新控制語句, try-catch 異常處理,並圍繞標準的國際化做了一些小的修改。這標誌著 ECMAScript 成為了一門真正的程式語言。
ECMA-262 第四版本對這門語言進行了一次全面的檢核修訂。
ECMA-262 第五版,即 ECMAScript 3.1 於 2009年12月3日正式釋出。新增了原生 JSON 物件,繼承的方法和高階屬性定義,包含一種嚴格模式,對 ECMAScript 引擎解釋和執行程式碼進行了補充說明。

2 ECMAScript 相容

ECMA-262 規定,要想成為 ECMAScript 的實現,則該實現必須做到:
	1)支援 ECMA-262 描述的所有“型別, 值, 物件, 屬性,函式以及程式句法和語義”;
	2)支援 Unicode 字元標準;
	3)新增 ECMA-262 沒有描述的更多型別,值,物件和函式;
	4)支援 ECMA-262 沒有定義的“程式和正則表示式語法”

參考:
《JavaScript 高階程式設計》

宣告:
本部落格的所有內容,僅是自己的一些學習筆記,如有錯誤,歡迎指正。如有侵權,請告知修改。