ECMAScript 与 JavaScript

未匹配的标注

JavaScript 与 ECMAScript 是什么样的关系?

JavaScript 是一种专为与网页交互而设计的脚本语言

ECMAScript 与 Web 浏览器没有依赖关系,浏览器只是它可能的 宿主环境之一。其他宿主环境包括 Node(一种服务端 JavaScript 平台)和 Adobe Flash。

javascript 是为网页表单而开发的,但随后的发展,可能它被另外抽象为 “一种语言”,而这 “一种语言” 的基础就 ECMAScript ,在此基础之上可以构建更完善的脚本语言。
JavaScript 就是 “更完善的脚本语言” 之一了。另外还有 nodejs,它使用的是类似 JavaScript 的结构语法编程,指的就是 ECMAScript 为基础构建的另一个 “更完善的脚本语言”。
为了更好的说明,附 javascriptnodejs 的区别:

  • JavaScript 组成:ECMAScript (定义这门语言的基础,比如语法、数据类型、结构以及一些内置对象等)、DOM(基于 ECMAScript,扩展出来的用于操作页面元素的方法)、BOM(基于ECMASCRIPT,扩展出来的用于操作浏览器的一些方法)。
  • NodeJS 是以 ECMAScript 为基础,然后在这个基础上扩展出来的一些操作其他东西(即操作非浏览器)的一些方法,比如操作OS操作系统、file文件系统、net网络、database数据库等。
  • 也就是说 nodejs 和 JavaScript 在底层都是一样的,都是 ECMAScript,但是扩展出来的功能却是不一样的。一个是偏向于前端浏览器,一个是偏向于后端。

ECMAScript 都规定了些什么内容?

大致来说,它规定了这门语言的下列组成部分:

  • 语法
  • 类型
  • 语句
  • 关键字
  • 保留字
  • 操作符
  • 对象

完整的 JavaScript

既然 ECMAScript 是不依赖于宿主环境的,那么宿主环境必然要提供一些扩展,以便实现针对环境的操作。

在浏览器中,包括两个方面的操作。

  • 用于操作页面元素的方法
  • 用于操作浏览器的一些方法

比如要获得 id="app" 的文档元素,浏览器提供了扩展 DOM,你可以利用 document.getElementById() 获得文档元素。
比如要跳转一个地址,浏览器提供了扩展 BOM,你可以利用 window.location.href="" 跳转到新的地址。

ECMAScript 与 JavaScript

因此一个完整的 JavaScript 实现包括 ECMAScript 核心外,还有具体的功能。

  • ECMAScript 核心
  • 文档对象模型 DOM(Document Object Model)
  • 浏览器对象模型 BOM (Browser Object Model)

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
讨论数量: 0
发起讨论 只看当前版本


暂无话题~