JavaScript,一般缩写为JS,是一种高级的,解释执行的编程语言。 JavaScript是一门基于原型、函数先行的语言,是一门多范式的语言,它支持面向对象编程,命令式编程,以及函数式编程。宿主环境:浏览器(web端)、node.js(服务端)html
这种编程语言须要利用解释器,在运行时,动态将代码逐句解释(interpret)为机器代码,或是已经预先编译为机器代码的的子程序,以后再运行。node
解释型语言:Python Ruby JavaScript PHPgit
是一种以编译器来实现的编程语言,通过编译器先将代码编译为机器代码,以后再运行。github
编译型语言: C语言 C++ Objective-C D语言 C#web
至于Java属于哪种语言我也不肯定正则表达式
JavaScript 做为动态脚本语言最先主要运行在web端,因为Node.js的诞生让JS也能够在服务端中运行。 在客户端,JavaScript在传统意义上被实现为一种解释语言,但在最近,它已经能够被即时编译(JIT)执行。随着最新的HTML5和CSS3语言标准的推行它还可用于游戏、桌面和移动应用程序的开发和在服务器端网络环境运行,如Node.js。编程
1994年,网景公司(Netscape)发布了Navigator浏览器0.9版。这是历史上第一个比较成熟的网络浏览器,轰动一时。可是,这个版本的浏览器只能用来浏览,不具有与访问者互动的能力。......网景公司急需一种网页脚本语言,使得浏览器能够与网页互动。promise
1995年网景招募了布兰登·艾克,艾克在1995年5月仅花了十天时间就把原型设计出来了,最初命名为Mocha,1995年9月在Netscape Navigator 2.0的Beta版中更名为LiveScript,同年12月,Netscape Navigator 2.0 Beta 3中部署时被重命名为JavaScript。JavaScript推出后在浏览器上大获成功。浏览器
1996年11月,网景正式向ECMA(欧洲计算机制造商协会)提交语言标准。1997年6月,ECMA以JavaScript语言为基础制定了ECMAScript标准规范ECMA-262。JavaScript成为了ECMAScript最著名的实现之一服务器
(1)借鉴C语言的基本语法;
(2)借鉴Java语言的数据类型和内存管理;
(3)借鉴Scheme语言,将函数提高到"第一等公民"(first class)的地位;
(4)借鉴Self语言,使用基于原型(prototype)的继承机制。
ECMAScript,描述了该语言的语法和基本对象
文档对象模型(DOM),描述处理网页内容的方法和接口
浏览器对象模型(BOM),描述与浏览器进行交互的方法和接
ECMAScript是为网景的布兰登·艾克开发的一种脚本语言(JavaScript)制定的标准化规范; ECMA-262 它规定了这门语言的下列组成部分:
详情地址 www.ecma-international.org/ecma-262/9.…
1997年06月:发布首版
1998年06月:修改规范彻底符合ISO/IEC 16262国际标准。
1999年12月发布: 是对ECMAScript标准第一次真正的修改。 新增了对正则表达式、新控制语句、try-catch异常处理的支持,修改了字符处理、错误定义和数值输出等内容。 从各方面综合来看,第3版标志着ECMAScript成为了一门真正的编程语言。
2007年10月ECMAScript 4.0版草案发布 对3.0版作了大幅升级,预计次年8月发布正式版本。 草案发布后,因为4.0版的目标过于激进,各方对因而否经过这个标准,发生了严重分歧。
2008年7月ECMAScript 4.0发布前被废弃 因为对于下一个版本应该包括哪些功能,各方分歧太大,争论过于激进,ECMA开会决定,停止ECMAScript 4.0的开发(即废除了这个版本)。
2009年12月:完善了ECMAScript 3版本、增长"strict mode,"(严格模式)、以及新的功能,如getter和setter、JSON库支持和更完整的对象属性。
2015年06月:第六版的名字有不少,能够叫ECMAScript 6(ES6),也能够叫ECMAScript 2015(ES2015)。
此版本增长了很是重要的东西:let、const、class、modules、 arrow functions,、template string, destructuring, default, rest argument、binary data、promises等等。
规范地址:www.ecma-international.org/ecma-262/6.… ES6及以上的教程可参考Babel提供的: babeljs.io/learn-es201…
2016年06月:也被称为ECMAScript 2016。完善ES6规范,还包括两个新的功能:求幂运算符(*)和array.prototype.includes方法。
规范地址:www.ecma-international.org/ecma-262/7.…
2017年06月:增长新的功能,如并发、原子操做、Object.values/Object.entries、字符串填充、promises、await/asyn等等。
规范地址: www.ecma-international.org/ecma-262/8.…
2018年06月: ECMAScript 2018 主要包含内容: 异步迭代器:原生支持在 JavaScript 中对异步获取的数据作迭代。 Object Rest/Spread Properties Promise.prototype.finally Template Literal(模板字面量):取消 Escape-Sequenzen 限制
正则表达式: 支持 s (dotAll) 模式 Unicode 属性转义(Property Escape) 支持后行断言(Lookbehind Assertions) 命名捕获组(named capture group
规范地址:www.ecma-international.org/ecma-262/9.…
Google:V8引擎
仓库地址:github.com/v8/v8
讲解:www.cnblogs.com/banyue/p/86…
JavaScript运行机制讲解 juejin.im/post/5a62e1…