02.第一章|02.第一章 - 什么是JavaScript - JavaScript实现
文章图片
image.png JavaScript的实现
一个完整的JavaScript
的实现是由核心(ECMAScript)
、文档对象模型(DOM)
、浏览器对象模型(BOM)
几个部分组成。
文章图片
JavaScript的组成
ECMAScript(核心)
-
ECMAScript
是一种标准,描述了语法
、类型
、语句
、关键词
、保留字
、操作符
和全局对象
-
JavaScript
、Adobe ActionScript
只是实现了ECMAScript
-
ECMAScript
可以为不同的宿主环境提供核心的脚本编程能力,它不与具体的宿主环境相绑定,如JS
的宿主环境是浏览器,AS
的宿主环境是即将淘汰的Adobe Flash
。
版本 | 年份 | 说明 |
---|---|---|
ECMAScript 1 |
1997年06月 | 发布首版 |
ECMAScript 2 |
1997年06月 | 严格按照 ISO/IEC-16262 的要求做编校,没有增减或改变任何特性 |
ECMAScript 3 |
1999年12月 | 1.更新对字符串处理、错误定义和数值输出。 2.增加正则表达式、新的控制语句、 try/catch 异常处理的支持 |
ECMAScript 4 |
- | 1.T39成员召集,ECMAScript 4 被重新定义成一门新语言。2. ECMAScript 4 跳跃太大,T39的子委员会提案ECMAScript 3.1 (小改动)。3.最终放弃发布 |
ECMAScript 5 |
2009年12月3日 | 1.其实就是ECMAScript 3.1 2.厘清 ECMAScript 3 中存在的歧义3.新增 JSON 对象、方便继承和高级属性定义的方法、4.增强 ECMAScript 引擎解释和执行代码能力的严格模式"strict mode" |
ECMAScript 5.1 |
2011 年 6 月 | 维护性修订版,只更正了规范中的错误 |
ECMAScript 6 |
2015 年 6 月 | 1.俗称ES6 、ES2015 或 ES Harmony(和谐版) 2.增加 let 、const 、class(类) 、modules(模块) 、 arrow functions(箭头函数) 、template string(模板字符串) 、promise 等等3. ES2015语言规范 |
ECMAScript 7 |
2016 年 6 月 | 1.俗称ES7 、ES2016 2.新增 求幂运算符(**) 和array.prototype.includes 方法3. ES2016语言规范 |
ECMAScript 8 |
2017 年 6 月 | 1.俗称ES8 、ES2017 2.新增 sync/await 、padStart()、padEnd()字符串填充方法 等等,另外明确支持对象字面量最后的逗号3. ES2017语言规范 |
ECMAScript 9 |
2018 年 6 月 | 1.俗称ES9 、ES2018 2.修订 Async iterator(异步迭代) 、Rest参数 、…(拓展运算符) 、模板字面量允许使用转义字符等 |
ECMAScript 10 |
2019 年 6 月 | 1.俗称ES10 、ES2019 2.修订 Array.prototype.flat() / flatMap() 、 String.prototype.trimStart() / trimEnd() 、 Object.fromEntries() 方法等 |
ECMAScript 11 |
2020 年 6 月 | 1.俗称ES11 、ES2020 2. String.prototype.matchAll 、动态 import 、BigInt |
------ | ----- | ------ |
这段是书中的原文
ECMA-262
阐述了什么是 ECMAScript
符合性。要成为 ECMAScript
实现,必须满足下列条件:- 支持
ECMA-262
中描述的所有"类型
、值
、对象
、属性
、函数
,程序语法
与语义
"; - 支持
Unicode
字符标准。
- 增加
ECMA-262
中未提及的"额外的类型、值、对象、属性和函数"。ECMA-262
所说的这些额外内容主要指规范中未给出的新对象或对象的新属性。 - 支持
ECMA-262
中没有定义的"程序和正则表达式语法"(意思是允许修改和扩展内置的正则表达式特性)。
以上条件为实现开发者基于ECMAScript
开发语言提供了极大的权限和灵活度,也是其广受欢迎的原因之一
2008年,五大主流Web浏览器(
IE
、Firefox
、Safari
、Chrome
和Opera
)全部兼容 ECMA-262 第 3 版。IE8
是第一个着手实现ECMA-262
第5版的浏览器,并在IE9
中提供了完整的支持。Firefox4
也紧随其后做到兼容。各个浏览器对ECMAScript支持的具体情况
DOM(文档对象模型) 和 BOM(浏览器对象模型)
DOM:
HTML
和 XML
的应用程序接口(提供与网页内容交互的方法和接口)BOM: 提供与浏览器交互的方法和接口
【02.第一章|02.第一章 - 什么是JavaScript - JavaScript实现】具体的介绍自行百度
推荐阅读
- 为什么你的路演总会超时()
- 财商智慧课(六)
- 异地恋中,逐渐适应一个人到底意味着什么()
- 做一件事情的基本原理是什么()
- 今天写一些什么
- 眉头开了
- 吃了早餐,反而容易饿(为什么?)
- 我们应该和什么样的人交朋友
- 做个俗物有什么不好
- 为什么越花钱的人越有钱,越舍不得花钱的人却越穷()