一、ES概述与JS实现

JavaScript019

一、ES概述与JS实现,第1张

ES是国际标准化组织发布的浏览器脚本语言的标准,全名:ECMAScript。

ES是JS语言的国际标准,JS是ES的实现。在日常场合,两个词可以互换。

ES是JS的子集,它是JS的内容的一部分,一个完整的JS实现是由以下三部分组成:

核心(ESMAScript) :规定了JS的语法、类型、语句、关键字、保留字、操作符、对象

文档对象模型(DOM) :是用于HTML的应用接口(API),将整个页面映射为一个多层节点结构。

浏览器对象模型(BOM) :与DOM不同,无标准,只是JS一部分,用来对浏览器进行访问和操作。

通过DOM创建的文档结构树形图,开发人员获得了控制页面内容和结构的主动权。借助DOM提供的API,开发人员可以方便的删除、添加、替换、修改任何节点。

使用BOM,开发者可以移动窗口,改变状态栏中的文本,以及执行其他与页面不直接相关的动作。主要处理浏览器窗口和框架。通常情况下BOM包括:

1、弹出一些新的浏览器窗口

2、移动、关闭浏览器窗口以及调整窗口大小

3、提供Web浏览器详细信息的定位对象

4、提供用户屏幕分辨率详细信息的屏幕对象

5、对cookie的支持

由于没有相关BOM的标准,每种浏览器都有自己的BOM实现。每种浏览器都可以为这些对象或其他对象定义自己的属性和方法。

ES6是一个历史名词,泛指ES5.1以后的JavaScript的下一代标准。

涵盖了ES2015、ES2016、ES2017等(ECMA从15年开始,每年6月更新一次标准,标准命名从此用年份标注)。

但由于人们对ES6叫法的习惯,目前使用这个叫法比较多。

准确的说:es(ECMAScript)是js(javascript)的标准。

JavaScript是语言,而ECMAScript(即ECMA-262,ECMA是欧洲计算机制造商协会)是为了规范JS而制定的标准,ECMAScript有不同版本,最近的版本是第10版,发布于2019.6。

完整的JavaScript的实现包含以下几个部分:

核心(ECMAScript):由ECMA-262定义并提供核心功能。

文档对象模型(DOM):提供与网页内容交互的方法与接口。

浏览器对象模型(BOM):提供与浏览器交互的方法与接口。

可以用下面这张图进行粗略的记忆

具体来说,ECMA-262定义了一门语言的如下部分

语法

类型

语句

关键字

保留字

操作符

全局对象

ECMA-262第6版,俗称ES6、ES2015或ES Harmony(和谐版),于2015年6月发布。这一版包含了大概这个规范有史以来最重要的一批增强特性。ES6正式支持了类、模块、迭代器、生成器、箭头函数、期约、反射、代理和众多新的数据类型。

DOM Level 1 在1998.10成为W3C的推荐标准。它由DOM Core 和DOM HTML两个部分组成。DOM Core提供了一种映射XML文档,从而方便访问和操作文档任意部分的方式;DOM HTML扩展了前者,并增加了特定于HTML的对象和方法。

DOM Level 2  新增了以下模块,以支持新的接口。

DOM视图:描述追踪文档不同视图(如应用CSS样式前后的文档)的接口。

DOM事件:描述事件及事件处理的接口。

DOM样式:描述处理元素CSS样式的接口。

DOM遍历和范围:描述遍历和操作DOM树的接口。

DOM Level 3 增加了以统一的方式加载和保存文档的方法(包含在一个叫DOM Load and Save的新模块中),还有验证文档的方法(DOM Validation)。

DOM Level 4 新增Mutation Observers,替代 了Mutation Events .

BOM 主要针对浏览器窗口和子窗口(frame),不过人们通常会把任何特定于浏览器的扩展都归在 BOM 的范畴内。 下面就是这样一些扩展。

弹出新浏览器窗口的能力;

移动、缩放和关闭浏览器窗口的能力;

navigator对象,提供关于浏览器的详尽信息;

location对象,提供浏览器加载页面的详尽信息;

screen对象,提供关于用户屏幕分辨率的详尽信息;

performance对象,提供浏览器内存占用、导航行为和时间统计的详尽信息;

对cookie的支持;

其他自定义对象,如XMLHttpRequest和IE的ActiveXObject。

出处:《JavaScript高级程序设计(第4版)》Matt Frisbie著 李松峰译

买韩国琴,认准三益,英昌是韩国品牌,国内生产的,而三益的JS和ES是正啊八经的印尼产,整琴有报关单。

若说两者区别,钢琴发声的重要配件,一个是榔头,一个是音板。三益ES系列为三益普级别的榔头,JS是德国FFW榔头。音板上,ES是单音板,JS是双音板。三益JS系列优于ES系列是无疑的。