JavaScript的語言特性以及重要版本

轉載請註明出處,創做不易,更多文章請戳 https://github.com/ZhengMaste... javascript

前言:JavaScript誕生於1995年,它是一門腳本語言,起初的目的就是爲了解決前端頁面的動態效果,以及表單輸入效驗操做之類的。JavaScript的是由一家名爲網景公司開發的,可是1997年網景公司將它交給了歐洲計算機制造協會(ECMA),並在同年完成了ECMA—262,定義名爲ECMAScript的新標準的腳本語言。JavaScript是JavaScript的規格,而JavaScript是ECMAScript的一種實現。(一般一個完成的JavaScript不單單包含了ECMAScript還包括了DOM以及BOM)前端


相關版本java

JavaScript 1.1   該版本在Netscape Navigator 3.0中使用。發佈於1996年8月19日。
  JavaScript 1.3   發佈於1998年10月19日。符合ECMA-262第1版和第2版的標準。
  JavaScript 1.5   發佈於2000年11月14日。符合ECMA-262第3版的標準。
  JavaScript 1.6   發佈於發佈於2005年11月。加入了XML(E4X),Array方法,String以及泛型。
  JavaScript 1.7   增長了許多東西,包括生成器,迭代器,數組解析,let表達式和解構賦值
  JavaScript 1.8.5  包括符合ECMA-262 Edition 5的許多新功能。 這是最後一個JavaScript版本。

1997年7月,ECMAScript 1.0發佈。git

1998年6月,ECMAScript 2.0版發佈。es6

1999年12月,ECMAScript 3.0版發佈,成爲 JavaScript 的通行標準,獲得了普遍支持github

2009年12月,4.0版本爭議太大沒有發佈,ECMAScript 5.0版 正式發佈編程

2011年6月,ECMAScript 5.1版發佈,而且成爲 ISO 國際標準數組

2015年6月,ECMAScript 6 正式發佈,而且改名爲「ECMAScript 2015」,常稱爲es6瀏覽器

2016年6月,ES2016發佈,es7 服務器

2017年6月,ES2017發佈, es8

JavaScript特性

首先咱們查一下官方的定義,在維基百科裏它是這樣定義javascript這門語言的。

**JavaScript(一般縮寫爲JS)是一種高級的、解釋型的編程語言。JavaScript是一門基於原 
型、函數先行的語言,是一門多範式的語言,它支持面向對象編程,命令式編程,以及函數 
式編程。**

在客戶端,JavaScript在傳統意義上被實現爲一種解釋語言,但在最近,它已經能夠被即時編譯(JIT)執行。隨着最新的HTML5和CSS3語言標準的推行它還可用於遊戲、桌面和移動應用程序的開發和在服務器端網絡環境運行,如Node.js。

特性:  1、運行在客戶端瀏覽器上;

      2、不用預編譯,直接解析執行代碼;

      3、是弱類型語言,較爲靈活;

      4、與操做系統無關,跨平臺的語言;

      5、腳本語言、解釋性語言


   解釋性語言:把作好的源程序翻譯一句,而後執行一句,直至結束;
   執行速度慢、效率低;依靠解釋器、跨平臺性好  (Php、javascript、Pyhton)
   
   弱類型語言:不須要給一個變量指定特定的數據類型,容許隱式類型轉換,
   即時編譯(JIT):Just-in-time compilation,縮寫:JIT,是一種提升程序運行效率的方法
   
   命令式編程:命令式編程的主要思想是關注計算機執行的步驟,即一步一步告訴計算機先作什麼再作什麼
   
   函數式編程:函數式編程和聲明式編程是有所關聯的,由於他們思想是一致的:即只關注作什麼而不是怎麼作。  
     但函數式編程不單單侷限於聲明式編程,函數式編程最重要的特色是「函數第一位」,即函數能夠出如今任何地方.
     好比你能夠把函數做爲參數傳遞給另外一個函數,不只如此你還能夠將函數做爲返回值。
     
  基於原型、函數先行的語言:js使用基於原型的的繼承機制,函數是js的第一等公民

其餘相關的語言特性

編譯型語言:把作好的源程序所有編譯成二進制代碼的可運行程序。而後,可直接運行這個程序編譯型語言,執行速度快、效率高;依靠編譯器、跨平臺性差些。
強類型語言:強類型語言,當你定義一個變量是某個類型,若是不通過代碼顯式轉換(強制轉化)過,它就永遠都是這個類型,若是把它當作其餘類型來用,就會報錯
動態類型語言:動態類型語言是指在運行期間纔去作數據類型檢查的語言,也就是說,在用動態類型的語言編程時,永遠也不用給任何變量指定數據類型,該語言會在你第一次賦值給變量時,在內部將數據類型記錄下來。例如JavaScript,Php,Python

靜態類型語言:靜態類型語言與動態類型語言恰好相反,它的數據類型是在編譯其間檢查的,也就是說在寫程序時要聲明全部變量的數據類型,C/C++是靜態類型語言的典型表明,其餘的靜態類型語言還有C#、JAVA等
聲明式編程:聲明式編程是以數據結構的形式來表達程序執行的邏輯。它的主要思想是告訴計算機應該作什麼,但不指定具體要怎麼作。它有一個特色是它不須要建立變量用來存儲數據,另外一個特色是它不包含循環控制的代碼如 for, while(SQL 語句,網頁編程中用到的 HTML 和 CSS 也都屬於聲明式編程)

相關文章
相關標籤/搜索