JavaScript的歷史由來及簡介_網頁設計公司

JavaScript的歷史由來及簡介_網頁設計公司

※自行創業缺乏曝光? 網頁設計幫您第一時間規劃公司的形象門面

網站的第一印象網頁設計,決定了客戶是否繼續瀏覽的意願。台北網動廣告製作的RWD網頁設計,採用精簡與質感的CSS語法,提升企業的專業形象與簡約舒適的瀏覽體驗,讓瀏覽者第一眼就愛上它。

JavaScript的歷史由來及簡介

前言

這次寫一篇對於JavaScript的簡介,我們知道的編程語言有很多種,比如Java、C++、Python等等,每種編程語言都有其獨具的特色,不論是語法格式還是表達形式,都能讓每個程序員沉澱在知識的海洋里難以自拔。即每種編程語言都有無限的延展性,但如果我們考慮問題的時候追溯其根源,其實也不難發現每種編程語言都具有共同的初心,最直白的話就是人與計算機進行溝通的語言,在現實生活中,見什麼人說什麼話我們都很清楚,那在與計算機溝通的世界中,做什麼事用什麼編程語言溝通也是同樣的道理,前提就是我們要了解這些編程語言,在你需要選擇的時候做出正確的判斷,這也正是我寫此篇文章的意義。

JavaScript的歷史由來

 

 
在1994年,當時的網景公司(Netscape)憑藉Navigator這個瀏覽器成為了Web時代開啟最著名的第一代的互聯網公司。當時所用的第一版本的瀏覽器就是下圖中的瀏覽器,相信有很多年輕朋友都沒有見過這種瀏覽器。如果大家回想十年前或是十五年前,大家用的瀏覽器應該是IE瀏覽器,那個時候的瀏覽器跟現在的比如說谷歌瀏覽器火狐瀏覽器等相比而言,那就是天壤之別了。

 

 

 

像上圖中這是最早版本的瀏覽器,整個瀏覽器都是靜態的,也就是用HTMLCSS寫的,並沒有像今天的各種瀏覽器一樣具有各種各樣的動態效果了,比如像網頁的圖片輪播、鼠標懸浮切換等效果。

網景公司就想在原來的靜態頁面的基礎上添加一些動態的效果,這時候網景公司出來一個很牛的人物叫布蘭登·艾奇,他用不到兩周的時間就設計出了能在網頁上實現動態效果的編程語言。

 

 

就是上圖中的人設計的這中能實現網頁動態效果的編程語言,並將其編程語言命名為JavaScript

為什麼會命名為JavaScript呢?原因是在當時,Java非常火,網景公司希望借用Java在當時的名氣來進行推廣。其實事實上呢,JavaScript除了語法上有點像Java外,別的地方都跟Java沒有任何關係。

 

 

JavaScript和ECMAScript的關係

從上面講的JavaScript的由來中,我們就知道JavaScript由網景公司的布蘭登·艾奇開發出來的,一年後,微軟又模仿JavaScript開發出了一種編程語言叫JScript,再後來,陸續又有別的商家推出JavaScript的不同實現語言。這就導致JavaScript的語法和特性日益混亂,其標準化問題被提上日程。最終由歐洲計算機製造商協會(ECMA)以JavaScript1.1為藍本,制定了【ECMA-262】標準,並由此標準定義了一種新腳本語言ECMAScript。隨後,ISO也採用ECMAScript作為標準,各瀏覽器廠商便紛紛開始將ECMAScript作為各自JavaScript實現的基礎。

 

 

那到底JavaScriptECMAScript有什麼關係呢? ECMAScript其實並不等同於JavaScript,它只是JavaScript的核心標準(語法、類型、語句、關鍵字、保留字、操作符、對象),而JavaScript還包括文檔對象模型(DOM)和瀏覽器對象模型(BOM)等。其中各主流瀏覽器對ECMAScript的支持都還不錯,但對DOM的支持相差較大,對於BOM一直沒有相關標準。最後再簡單總結一下就是:ECMAScript是一種語言標準,JavaScript是對ECMAScript的一種實現

JavaScript版本

  • 1997年06月 :發布首版。

  • 1997年06月:修改規範完全符合ISO/IEC 16262國際標準。

  • 1998年6月,ECMAScript 2.0版發布。

  • 1999年12月,ECMAScript 3.0版發布,成為JavaScript的通行標準,得到了廣泛支持。

  • 1999年12月:增加正則、更好的文字處理、新的控制語句、try/catch異常處理、更加明確的錯誤定義,数字輸出格式等等。放棄發布。

  • 2007年10月,ECMAScript4.0版草案發布,對3.0版做了大幅升級,預計次年8月發布正式版本。草案發布后,由於4.0版的目標過於激進,各方對於是否通過這個標準,發生了嚴重分歧。以Yahoo、Microsoft、Google為首的大公司,反對JavaScript的大幅升級,主張小幅改動;以JavaScript創造者Brendan Eich為首的Mozilla公司,則堅持當前的草案。

  • 2008年7月,由於對於下一個版本應該包括哪些功能,各方分歧太大,爭論過於激進,ECMA開會決定,中止ECMAScript 4.0的開發,將其中涉及現有功能改善的一小部分,發布為ECMAScript3.1,而將其他激進的設想擴大範圍,放入以後的版本,由於會議的氣氛,該版本的項目代號起名為Harmony(和諧)。會後不久,ECMAScript 3.1改名為ECMAScript 5。

  • 2009年12月:完善了ECMASript 3版本、增加”strict mode,” (嚴格模式)、以及新的功能,如getter和setter、 JSON庫支持和更完整的對象屬性。ECMAScript 5.0版正式發布。Harmony項目則一分為二,一些較為可行的設想定名為JavaScript.next繼續開發,後來演變成ECMAScript 6;一些不是很成熟的設想,則被視為JavaScript.next.next,在更遠的將來再考慮推出。

  • 2011年06月:ECMAscript 5.1版發布,並且成為ISO國際標準(ISO/IEC 16262:2011)。

  • 2013年3月,ECMAScript 6草案凍結,不再添加新功能。新的功能設想將被放到ECMAScript 7。

  • 2013年12月,ECMAScript 6草案發布。

  • 2015年06月:第六版的名字有很多,可以叫ECMAScript6 (ES6) ,也可以叫ECMAScript 2015 (ES2015) 。

  • 2015年6月17日,ECMAScript 6發布正式版本,即ECMAScript 2015。

  • 2016年06月:也被稱為ECMAScript 2016。完善ES6規範,還包括兩個新的功能:求冪運算符(*) 和array.prototype.includes方法。

  • 2017年06月:增加新的功能,如併發、原子操作、Object.values/Object.entries、 字符串填充、promises、 await/asyn等等。

JavaScript的組成部分

 

※如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!

以設計的實用美學觀點,規劃出舒適、美觀的視覺畫面,有效提昇使用者的心理期待,營造出輕鬆、愉悅的網站瀏覽體驗。

 
JavaScript的三個主要組成部分是:ECMAScript(核心),DOM(文檔對象模型),BOM(瀏覽器對象模型)

 

ECMAScript(核心)

【ECMA-262】並沒有參照web瀏覽器,規定了語言的組成部分,其具體內容包括語法、類型、語言、關鍵字、保留字、操作符、對象等。

ECMAScript的兼容

  1. 支持【ECMA-262】描述的所有“類型、值、對象、屬性、函數以及程序語法和語義” 。

  2. 支持Unicode字符標準。

  3. 添加【ECMA-262】沒有描述的更多“類型、值、對象、屬性和函數”,【ECMA-262】說的這些新增特性,主要是指該標準中沒有規定的新對象和對象的新屬性。

  4. 支持【ECMA-262】中沒有定義的“程序和正則表達式的語法”。也就是說可以修改和擴展內置的正則表達式語法。

DOM(文檔對象模型)

文檔對象模型(DOM)是針對XML但經過擴展用於HTML的應用程序編程接口(API)。DOM把整個頁面映射為一個多層次節點結構。HTML或者XML頁面中的每個組成部分都是某種類型的節點,這些節點又包含着不同類型的數據。

 

 

其實說白了,文檔對象模型(DOM)就是操作網頁上的那些標籤,來實現動態的效果。

在DOM中,頁面一般可以用分層節點圖表示。

 

 

DOM級別

  • DOM1級於1998年10月成為W3C的推薦標準。BOM1由兩個模塊組成分別是DOM coreDOM HTML

  • DOM core:規定如何映射基於XML的文檔結構,以便簡化對文檔中任意部分的訪問和操作。

  • DOM HTML:在DOM core的基礎上加以擴展,添加了針對HTML的對象和方法。

  • DOM2級在原來DOM的基礎上有擴充了鼠標和用戶界面事件、範圍、遍歷等細分模塊,通過對象接口增加了對css的支持。包括以下模塊:

  1. DOM Views(DOM視圖):定義了跟蹤不同文檔視圖的接口。

  2. DOM Events(DOM事件):定義了事件與事件處理的接口。

  3. DOM Traversal and Range(DOM遍歷和範圍):定義了遍歷和操作文檔的接口。

  • DOM3級則進一步擴展了DOM,引入了加載和保存模塊以統一方式加載和保存文檔的方法;新增了DOM驗證模塊主要還是驗證文檔的方法。

BOM(瀏覽器對象模型)

瀏覽器對象模型(BOM)是處理瀏覽器窗口框架,我們習慣上把所有針對瀏覽器的JavaScript擴展算作是BOM的一部分。包括以下:

  1. 彈出新瀏覽器窗口的功能。

  2. 移動、縮放和關閉瀏覽器窗口的功能。

  3. 提供瀏覽器所加載頁面的詳細信息的navigator對象。

  4. 提供瀏覽器所加載頁面的詳細信息的location對象。

  5. 提供用戶分辨率詳細信息的screen對象。

  6. 對cookies的支持。

  7. 像XMLHttpRequest和IE的ActionXobject這樣的自定義對象。

瀏覽器對象模型(BOM)其實很簡單,它包含了當前瀏覽器上的一些操作,比如說像關閉按鈕、刷新按鈕、前進和後退按鈕等等。

綜上來說,JavaScript就包含了以上這三部分內容,第一部分就是核心基礎語法,這是非常非常重要的東西,有了核心基礎的鋪墊,我們才能後續的學習文檔對象模型(DOM)和瀏覽器對象模型(BOM).文檔對象模型(DOM)就是操作一些網頁上的一些標籤元素,來實現網頁上的動態效果。而瀏覽器對象模型(BOM)就是像比如說滾動的行為,點擊回到頂部,還有刷新,前進,後退等操作。這些特性就是我們需要了解的內容,在你後續進行詳細學習的時候,就帶着這些特性疑問去學習,會有事半功倍的效果。

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

※綠能、環保無空污,成為電動車最新代名詞,目前市場使用率逐漸普及化

台中景泰電動車行只是一個單純的理由,將來台灣的環境,出門可以自由放心的深呼吸,讓空氣回歸自然的乾淨,減少污染,留給我們下一代有好品質無空污的優質環境