(50)Wangdao.com第七天_JavaScript 發展與簡介

一個完整的JavaScript 應該由如下三部分組成:javascript

  • ECMAScript
  • DOM,全稱Browser Object Model,即瀏覽器對象模型,主要處理瀏覽器窗口和框架
  • BOM,全稱Document Object Model,即文檔對象模型,是 HTML 和XML 的應用程序接口(API),遵循W3C 的標準,全部瀏覽器公共遵照的標準

 

   JavaScript 是經過訪問 BOM(Browser Object Model)對象來訪問、控制、修改客戶端(瀏覽器),前端

因爲 BOM 的 window 包含了 document,window 對象的屬性和方法是直接可使用並且被感知的,java

所以能夠直接使用 window 對象的 document 屬性,經過 document 屬性就能夠訪問、檢索、修改 XHTML 文檔內容與結構。node

由於 document 對象又是 DOM(Document Object Model)模型的根節點。程序員

能夠說,BOM 包含了 DOM (對象),瀏覽器提供出來給予訪問的是 BOM 對象,從 BOM 對象再訪問到 DOM 對象,從而 js 能夠操做瀏覽器以及瀏覽器讀取到的文檔。正則表達式

 

做者:昊晗遠昂編程

出處: http://www.cnblogs.com/splendid/後端

轉載請註明出處和原文連接
數組

 


JavaScript 發展瀏覽器

  • 誕生於1995年,由 NetScape 網景公司推出,主要用於處理網頁中的前端驗證, 在發佈前準備叫 livescript 。
  • 1995年,Netscape 公司僱傭了程序員 Brendan Eich 開發這種網頁腳本語言。

Brendan Eich 有很強的函數式編程背景,但願以 Scheme 語言(函數式語言鼻祖 LISP 語言的一種方言)爲藍本,實現這種新語言。

1995年5月,Brendan Eich 只用了10天,就設計完成了這種語言的初版。它是一個大雜燴,語法有多個來源。

  • 基本語法:借鑑 C 語言和 Java 語言。
  • 數據結構:借鑑 Java 語言,包括將值分紅原始值和對象兩大類。
  • 函數的用法:借鑑 Scheme 語言和 Awk 語言,將函數看成第一等公民,並引入閉包。
  • 原型繼承模型:借鑑 Self 語言(Smalltalk 的一種變種)。
  • 正則表達式:借鑑 Perl 語言。
  • 字符串和數組處理:借鑑 Python 語言。

 

  • 1996年,微軟公司在其 IE3 中引入了本身對 JavaScript 的實現,JScript 。
  • 1997年,網景公司無奈將 JavaScript 捐獻給了歐洲計算機制造商協會 ECMA,1998年,ECMAScript 第2版登場。。。DOMLevel 1 的制定。。。新型語言 DHTML 登場。

ECMAScript 第1版登場

ECMAScript 做爲一個標準存在,只有文檔沒有實現,交給各個廠商去實現。

上面這個緣由,纔有瞭如今的 FireFox 的 SpiderMonKey 引擎,IE 的 JScript,Chrome 的 V8 引擎是整個JS最快的引擎... ...

網景公司也賣了,變成了如今的 FireFox 。

  • 1999年,ECMAScript 第 3 版登場。
  • 2000年,DOMLevel 2 的制定。
  • 2002年,ISO/IEC 16262:2002 確立。
  • DOMLevel 3 的制定。
  • 2005年,新型語言 AJAX 登場。
  • 2009年,ECMAScript 第 5 版登場。。。新型語言 HTML5 登場。
  • 2015年,ECMAScript 第 5 版登場。

 


  • js 現在能夠幹什麼?
    • 驗證表單
    • 網頁動態效果
    • 服務器端開發 node.js
    • 開發有限
    • 客戶端與服務器端的交互
  • javascript
  • java 是一門編譯型語言,須要通過編譯器編譯成計算機認識的二進制,而後再執行。
  • js 是一門解釋型語言,不須要編譯,由瀏覽器做爲解釋器,直接一條一條執行。
  • js 是一種小型的,簡單的,動態語言,變量能夠保存任何類型的數據,性能上相較於靜態語言要差一點,可是因爲JavaScript中應用的JIT技術,JS多是運行速度最快的動態語言。
  • js 能夠模擬類的概念,但不是面嚮對象語言。
  • 函數是一種獨立的數據類型,採用基於原型對象prototype的繼承鏈。比java更自由。
  • 編程風格是,函數式編程和麪向對象編程的一種混合體。
  • ECMAScript 和 JavaScript 的關係是,前者是後者的規格,後者是前者的一種實現。
  • ECMAScript 只用來標準化 JavaScript 這種語言的基本語法結構,與部署環境相關的標準都由其餘標準規定

好比 DOM 的標準就是由 W3C組織(World Wide Web Consortium)制定的。

  • 2008年,V8 編譯器誕生

這是 Google 公司爲 Chrome 瀏覽器而開發的,它的特色是讓 JavaScript 的運行變得很是快。

它提升了 JavaScript 的性能,推進了語法的改進和標準化,改變外界對 JavaScript 的不佳印象。

同時,V8 是開源的,任何人想要一種快速的嵌入式腳本語言,均可以採用 V8,這拓展了 JavaScript 的應用領域。

  • 2009年,Node.js 項目誕生,創始人爲 Ryan Dahl

它標誌着 JavaScript 能夠用於服務器端編程,今後網站的前端和後端可使用同一種語言開發。

而且,Node.js 能夠承受很大的併發流量,使得開發某些互聯網大規模的實時應用變得容易。

  • 2013年5月,Facebook 發佈 UI 框架庫 React,引入了新的 JSX 語法,使得 UI 層能夠用組件開發,同時引入了網頁應用是狀態機的概念。
  • 2015年4月,Angular 框架宣佈,2.0 版將基於微軟公司的 TypeScript 語言開發,這等於爲 JavaScript 語言引入了強類型。
  • 2015年6月,Mozilla 在 asm.js 的基礎上發佈 WebAssembly 項目

這是一種 JavaScript 引擎的中間碼格式,所有都是二進制,相似於 Java 的字節碼

有利於移動設備加載 JavaScript 腳本,執行速度提升了 20+ 倍。這意味着未來的軟件,會發布 JavaScript 二進制包。

  • 2017年11月,全部主流瀏覽器所有支持 WebAssembly

這意味着任何語言均可以編譯成 JavaScript,在瀏覽器運行。

相關文章
相關標籤/搜索