资讯专栏INFORMATION COLUMN

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

Yangder / 1135人阅读

摘要:通常一个完成的不仅仅包含了还包括了以及相关版本该版本在中使用。基于原型函数先行的语言使用基于原型的的继承机制,函数是的第一等公民其他相关的语言特性编译型语言把做好的源程序全部编译成二进制代码的可运行程序。

转载请注明出处,创作不易,更多文章请戳 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 也都属于声明式编程)

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/104361.html

相关文章

  • JavaScript 简史

    摘要:正大力推进,网景通讯公司即将与他们达成一项协议,让可以用在浏览器上。年月,网景通讯公司和达成协议将被重新命名为,它将会作为浏览器中小型客户端任务的一种脚本语言,同时将会被提升为一种更大的开发富组件的专业工具。 本文转载自:众成翻译译者:网络埋伏纪事审校: 为之漫笔链接:http://www.zcfy.cc/article/2389原文:https://auth0.com/blog/a-...

    pubdreamcc 评论0 收藏0
  • 【译】关于转译器 JavaScript 程序员需要知道

    摘要:他们的计划是,使用微软开发者们所习惯的其他语言的开发工具所支持的静态类型,得到更好的代码。在微软内部,被和以及团队所使用,而且它被系的等公司使用。标准的编辑,同时也是微软项目高级经理的也同意。 本文转载自:众成翻译译者:文蔺链接:http://www.zcfy.cc/article/895原文:http://thenewstack.io/javascript-transpilers-n...

    freecode 评论0 收藏0
  • 你不知道JavaScript(ES6与之未来)

    摘要:然而,临近规范发布时,有建议提及未来的版本号切换为编年制,比如用同来指代在年末前被定稿的所有版本。总得来说就是版本号不再那么重要了,开始变得更像一个万古长青的活标准。 你不知道的JS(下卷)ES6与之未来 第一章:ES的今与明 在你想深入这本书之前,你应该对(在读此书时)JavaScript的最近标准掌握熟练,也就是ES5(专业来说是ES 5.1)。在此,我们决定全方面地谈论关于将近的...

    Julylovin 评论0 收藏0
  • H5学习

    摘要:为此决定自研一个富文本编辑器。本文,主要介绍如何实现富文本编辑器,和解决一些不同浏览器和设备之间的。 对ES6Generator函数的理解 Generator 函数是 ES6 提供的一种异步编程解决方案,语法行为与传统函数完全不同。 JavaScript 设计模式 ② 巧用工厂模式和创建者模式 我为什么把他们两个放在一起讲?我觉得这两个设计模式有相似之处,有时候会一个设计模式不能满...

    aristark 评论0 收藏0
  • H5学习

    摘要:为此决定自研一个富文本编辑器。本文,主要介绍如何实现富文本编辑器,和解决一些不同浏览器和设备之间的。 对ES6Generator函数的理解 Generator 函数是 ES6 提供的一种异步编程解决方案,语法行为与传统函数完全不同。 JavaScript 设计模式 ② 巧用工厂模式和创建者模式 我为什么把他们两个放在一起讲?我觉得这两个设计模式有相似之处,有时候会一个设计模式不能满...

    shevy 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<