JavaScript高級程序設計(第4版)-第一章學習

第一章 什麼是Javascript

1、歷史

JavaScript的名字怎麼來的

首先,咱們從javascript的歷史開始瞭解,在之前的時候網頁要驗證某個必填字段是否填寫,或者是判斷輸入的值的正確與否,每一次都要與服務器來一次交互通訊,你能夠想象一下:「當你填完一個信息登記表單,提交後,等待30秒,結果確實你的必填字段沒填或者是值無效」,想象都崩潰:(javascript

而後,1995 年,網景公司一位名叫 Brendan Eich 的工程師,開始爲即將發佈的 Netscape Navigator 2(是瀏覽器簡稱NN) 開發一個叫 Mocha(後來更名爲 LiveScript)的腳本語言。當時的計劃是在客戶端和服務器端都使用它,它在服務器端叫 LiveWire。LiveScript就是來解決這種每一次都要與服務器來一次交互通訊的問題,後來爲了遇上java的熱度就更名爲javascripthtml

JavaScript這個名字就這麼誕生了。html5

又來一個JScript?

可是,到後來微軟看到網景公司的JavaScript大受歡迎,因而就大力投入資源研發IE,在網景公司發佈Netscape Navigator 3以後不久,微軟就發佈了IE3,爲了與網景的JavaScript有區別把解決服務器的往返通訊問題的腳本取名JScript。java

有兩個版本一個JavaScript、一個JScript怎麼辦?

微軟的 JavaScript 實現意味着出現了兩個版本的 JavaScript:Netscape Navigator 中的 JavaScript,以及 IE 中的 JScript。JavaScript 尚未規範其語法或特性的標準,兩個版本並存讓這個問題更加突出了。隨着業界擔心日甚,JavaScript 終於踏上了標準化的征程。爲了給JavaScript標準化,1997 年,JavaScript 1.1 做爲提案被提交給歐洲計算機制造商協會(Ecma),一羣少年走上了改造之路,這羣少年就是來自網景、Sun、微軟、Borland、Nombas 和其餘對這門腳本語言有興趣的公司的工程師組成。他們被稱爲第 39 技術委員會(TC39),經過他們的努力就打造了 ECMA-262,新的的腳本語言標準

2、 知識點

以上部分就是一些歷史故事,有興趣能夠仔細瞭解, 重點仍是如下知識點:
 
1.其實JavaScript是分紅3個部分BOM、DOM、ECMAscript,BOM和DOM咱們會在後面的內容在學習如今就瞭解瞭解。
 
2.ECMAscript在前面的歷史能夠了解到就是一種規範,知足這種規範的都是ECMAscript,JavaScript 實現了ECMAScript,而 Adobe ActionScript 一樣也實現了 ECMAScript。
 
3.ECMAscript到底定義了那些呢?
語法、類型、語句 、關鍵字、保留字、操做符、全局對象。
 
4.隨着ECMAscript的發展有了不少的版本:
主要學習ES5和ES6版本,可是到如今一共有到ES10版本;
ECMA-262第 5 版新功能包括原生的解析和序列化 JSON 數據的 JSON 對象、方便繼承和高級屬性定義的方法,以及新的加強 ECMAScript 引擎解釋和執行代碼能力的嚴格模式。
ECMA-262 第 6 版,俗稱 ES六、ES2015 或 ES Harmony(和諧版),於 2015 年 6 月發佈。這一版包含了大概這個規範有史以來最重要的一批加強特性。ES6 正式支持了類、模塊、迭代器、生成器、箭頭函數、期約、反射、代理和衆多新的數據類型。
 
5.ECMAScript 符合性是什麼意思?
ECMA-262 闡述了什麼是 ECMAScript 符合性。要成爲 ECMAScript 實現,必須知足下列條件(前兩個是必要條件):
~支持 ECMA-262 中描述的全部「類型、值、對象、屬性、函數,以及程序語法與語義」;
~支持 Unicode 字符標準。
此外,符合性實現還能夠知足下列要求。
~增長 ECMA-262 中未說起的「額外的類型、值、對象、屬性和函數」。ECMA-262 所說的這些額
外內容主要指規範中未給出的新對象或對象的新屬性。
~支持 ECMA-262 中沒有定義的「程序和正則表達式語法」(意思是容許修改和擴展內置的正則表
達式特性)。
 
6.DOM(文檔對象模型)是一個應用編程接口(API),用於在 HTML 中使用擴展的 XML。DOM 將整個頁面抽象爲一組分層節點。HTML 或 XML 頁面的每一個組成部分都是一種節點,包含不一樣的數據。
DOM 經過建立表示文檔的樹,讓開發者能夠爲所欲爲地控制網頁的內容和結構。使用 DOM API,能夠輕鬆地刪除、添加、替換、修改節點。
 
7.萬維網聯盟(W3C,World Wide WebConsortium)開始了制定 DOM 標準
 
8.BOM
IE3 和 Netscape Navigator 3 提供了瀏覽器對象模型(BOM) API,用於支持訪問和操做瀏覽器的窗
口。使用 BOM,開發者能夠操控瀏覽器顯示頁面以外的部分。而 BOM 真正獨一無二的地方,固然也是
問題最多的地方,就是它是惟一一個沒有相關標準的 JavaScript 實現。 HTML5 改變了這個局面,這個版
本的 HTML 以正式規範的形式涵蓋了儘量多的 BOM 特性。因爲 HTML5 的出現,以前不少與 BOM
有關的問題都迎刃而解了。
整體來講,BOM 主要針對瀏覽器窗口和子窗口(frame),不過人們一般會把任何特定於瀏覽器的
擴展都歸在 BOM 的範疇內。好比,下面就是這樣一些擴展:
   彈出新瀏覽器窗口的能力;
   移動、縮放和關閉瀏覽器窗口的能力;
   navigator 對象,提供關於瀏覽器的詳盡信息;
   location 對象,提供瀏覽器加載頁面的詳盡信息;1.3 JavaScript 版本
   screen 對象,提供關於用戶屏幕分辨率的詳盡信息;
   performance 對象,提供瀏覽器內存佔用、導航行爲和時間統計的詳盡信息;
   對 cookie 的支持;
   其餘自定義對象,如 XMLHttpRequest 和 IE 的 ActiveXObject。
由於在很長時間內都沒有標準,因此每一個瀏覽器實現的都是本身的 BOM。有一些所謂的事實標準,
好比對於 window 對象和 navigator 對象,每一個瀏覽器都會給它們定義本身的屬性和方法。如今有了
HTML5,BOM 的實現細節應該會日趨一致。關於 BOM,本書會在第 12 章再專門詳細介紹。
 

總結:這章主要是瞭解JavaScript的誕生歷史和DOM、BOM的概念,那個時候網頁開發很是的不統一很亂,因而爲了統一而產生了許多的標準:ECMAscript、DOM標準到後來的BOM的html5日趨一致。正則表達式

相關文章
相關標籤/搜索