JavaScript简介
javascript是互联网上最流行的脚本语言。它诞生于1995年,当时,它的主要目的是处理以前由服务端语言(如perl)负责的一些输入验证操作。如今,javascript的用途早已不再局限于简单的数据验证,而是具备了与浏览器窗口及其内容等几乎所有方面交互的能力。今天的javascript已经成为一门功能全面的编程语言,能够处理复杂的计算机和交互,拥有了闭包、匿名(lambda,拉姆达)函数,甚至元编程等特性。
什么是ecmascript
ecmascript,简称es,是由ecma国际(前身为欧洲计算机制造商协会,英文名称是european computer manufacturers association)按照ecma-262和iso/iec 16262标准制定的一种脚本语言规范。
javascript 与 ecmascript 的关系
javascript是按ecmascript规范实现的一种脚本语言,其他的还有jscript、actionscript。这三种语言还提供了ecma规范外的额外功能。
虽然javascript和ecmascript通常都被人们用来表达相同的含义,但javascript的含义却比ecmascript中规定的要多得多。一个完整的javascript应该由下面三个不同的部分组成
- 核心(ecmascript),提供核心语言功能
- 文档对象模型(dom),提供访问和操作网页内容的方法和接口
- 浏览器对象模型(bom),提供与浏览器交互的方法和接口
ecmascript
由ecma-262定义的ecmascript与web浏览器没有依赖关系。实际上,这门语言本身并不包含输入和输出定义。ecmascript-262定义的只是这门语言的基础,而在此基础之上可以构建更完善的脚本语言。我们常见的web浏览器只是ecmascript实现可能的宿主环境之一。宿主环境不仅提供基本的ecmascript实现,同时也会提供该语言的扩展,以便语言与环境之间对接交互。这这些扩展—如dom,则利用ecmascript的核心类型和语法提供更多具体的功能,以便实现针对环境的操作。其他宿主环境包括node(一种服务端javascript平台)和adobeflash。
ecmascript 版本
javascript 已经由 ecma(欧洲电脑制造商协会)通过 ecmascript 实现语言的标准化。
年份 | 名称 | 描述 |
---|---|---|
1997 | ecmascript 1 | 第一个版本 |
1998 | ecmascript 2 | 版本变更 |
1999 | ecmascript 3 | 添加正则表达式 添加 try/catch |
ecmascript 4 | 没有发布 | |
2009 | ecmascript 5 | 添加 "strict mode",严格模式 添加 json 支持 |
2011 | ecmascript 5.1 | 版本变更 |
2015 | ecmascript 6 | 添加类和模块 |
2016 | ecmascript 7 | 完善es6规范,还包括两个新的功能:增加指数运算符 (**) 增加 array.prototype.includes |
2017 | ecmascript 8 | 增加新的功能,如并发、原子操作、object.values/object.entries、字符串填充、promises、await/asyn等等。 |
ecmascript 6(es6) 叫也称为 ecmascript 2015(es2015)。
ecmascript 7(es6) 也称为 ecmascript 2016(es2016)。
推荐阅读
-
JavaScript简介
-
【javascript】一段代码搞懂防抖节流
-
JavaScript实用库:Lodash源码数组函数解析(五)fill、baseFill、findIndex、baseFindIndex、baseIteratee、findLastIndex
-
python Polars库的使用简介
-
JavaScript的浅拷贝
-
JavaScript实用库:Lodash源码数组函数解析(四)dropRight、dropWhile、dropRightWhile、baseWhile
-
JavaScript实用库:Lodash源码数组函数解析(六)first、flatten、flattenDeep、flattenDepth、baseFlatten、isFlattenable
-
jQuery及JS实现循环中暂停的方法_javascript技巧
-
JavaScript实用库:Lodash源码数组函数解析(八)initial、join、last、nth、baseNth、(isIndex)
-
JavaScript全总结之DOM的Element