JavaScript的言语特征以及主要版本

转载请说明出处,创作不容易,更多文章请戳 https://github.com/ZhengMaste…

媒介:JavaScript诞生于1995年,它是一门脚本言语,早先的目标就是为了处理前端页面的动态效果,以及表单输入效验操纵之类的。JavaScript的是由一家名为网景公司开辟的,然则1997年网景公司将它交给了欧洲盘算机制作协会(ECMA),并在同年完成了ECMA—262,定义名为ECMAScript的新规范的脚本言语。JavaScript是JavaScript的规格,而JavaScript是ECMAScript的一种完成。(一般一个完成的JavaScript不单单议包括了ECMAScript还包括了DOM以及BOM)

相干版本

  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宣布。

1998年6月,ECMAScript 2.0版宣布。

1999年12月,ECMAScript 3.0版宣布,成为 JavaScript 的通行规范,得到了普遍支撑

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。

  特征:  一、运转在客户端浏览器上;

      二、不必预编译,直接剖析实行代码;

      三、是弱范例言语,较为天真;

      四、与操纵系统无关,跨平台的言语;

      五、脚本言语、诠释性言语


   诠释性言语:把做好的源顺序翻译一句,然后实行一句,直至完毕;
   实行速度慢、效力低;依托诠释器、跨平台性好  (Php、javascript、Pyhton)
   
   弱范例言语:不须要给一个变量指定特定的数据范例,许可隐式范例转换,
   立即编译(JIT):Just-in-time compilation,缩写:JIT,是一种进步顺序运转效力的要领
   
   敕令式编程:敕令式编程的主要头脑是关注盘算机实行的步骤,即一步一步通知盘算机先做什么再做什么
   
   函数式编程:函数式编程和声明式编程是有所关联的,由于他们头脑是一致的:即只关注做什么而不是怎么做。  
     但函数式编程不单单议局限于声明式编程,函数式编程最主要的特点是“函数第一位”,即函数能够出现在任何地方.
     比方你能够把函数作为参数传递给另一个函数,不仅如此你还能够将函数作为返回值。
     
  基于原型、函数先行的言语:js运用基于原型的的继续机制,函数是js的第一等国民

其他相干的言语特征

编译型言语:把做好的源顺序悉数编译成二进制代码的可运转顺序。然后,可直接运转这个顺序编译型言语,实行速度快、效力高;依托编译器、跨平台性差些。
强范例言语:强范例言语,当你定义一个变量是某个范例,假如不经由代码显式转换(强迫转化)过,它就永久都是这个范例,假如把它当作其他范例来用,就会报错
动态范例言语:动态范例言语是指在运转时期才去做数据范例搜检的言语,也就是说,在用动态范例的言语编程时,永久也不必给任何变量指定数据范例,该言语会在你第一次赋值给变量时,在内部将数据范例记录下来。比方JavaScript,Php,Python

静态范例言语:静态范例言语与动态范例言语恰好相反,它的数据范例是在编译其间搜检的,也就是说在写顺序时要声明一切变量的数据范例,C/C++是静态范例言语的典范代表,其他的静态范例言语另有C#、JAVA等
声明式编程:声明式编程是以数据结构的情势来表达顺序实行的逻辑。它的主要头脑是通知盘算机应当做什么,但不指定具体要怎么做。它有一个特点是它不须要建立变量用来存储数据,另一个特点是它不包括轮回掌握的代码如 for, while(SQL 语句,网页编程中用到的 HTML 和 CSS 也都属于声明式编程)

    原文作者:ZhengMaster2020
    原文地址: https://segmentfault.com/a/1190000019372767
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞