JavaScript学习:JavaScript实现

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript学习:JavaScript实现相关的知识,希望对你有一定的参考价值。

虽然javascript和ECMAScript通常都被人们用来表达相同的含义,但JavaScript的含义却远比ECMA-262中规定的要多得多。

一个完整的JavaScript实现应该由三个不同的部分组成:

  1. 核心(ECMAScript):规定脚本语言的基本标准
  2. 文档对象模型(DOM):控制页面内容和结构的方法和接口
  3. 浏览器对象模型(BOM):访问和操作浏览器的方法和接口

(1)ECMAScript

由ECMA-262定义的ECMAScript与Web浏览器没有依赖关系。ECMA-262定义的只是这门语言的基础,而在此基础上可以构建更完善的脚本语言。

JavaScript语言核心针对文本、数组、日期和正则表达式的操作定义了很少的API,但是这些API不包括输入和输出功能。

输入和输出功能(类似网络、存储和图形相关的复杂特性)是有JavaScript所属的“宿主环境”(host enviroment)提供的。

我们常见的Web浏览器只是ECMAScript实现可能的宿主环境之一,宿主环境不仅提供基本的ECMAScript实现,同时也会提供该语言的扩展,以便语言和环境之间对接交互。而这些扩展——如DOM,则利用ECMAScript的核心类型和语法提供更多具体的功能,以便实现针对环境的操作。其他宿主环境包括Node(一种服务端JavaScript平台)和Adobe Flash。

ECMA-26标准规定了如下部分:

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

ECMAScript就是对实现该标准规定的各个方面的内容的语言的描述。

(2)文档对象模型(DOM)

文档对象模型(DOM,Document Object Model)是针对XML但经过扩展用于html的应用程序编程接口(API,Application Programming Interface)。

DOM把整个页面映射为一个多层节点结构。HTML或XML页面中的每个组成部分都是某种类型的节点,这些节点又包含着不同类型的数据。

负责制定Web通信标准的W3C(World Wide Web Consortium,万维网联盟)规划DOM。

注:DOM并不只是针对JavaScript的,很多别的语言也都实现了DOM。不过在Web浏览器中,基于ECMAScript实现的DOM的确已经成为JavaScript这门语言的一个重要组成部分。

(3)浏览器对象模型(BOM)

Web浏览器支持可以访问和操作浏览器窗口的浏览器对象模型(BOM,Brower Object Model)。

开发人员使用BOM可以控制浏览器显示的页面以外的部分。

而BOM真正与众不同的地方(也是经常会导致问题的地方),还是它作为JavaScript实现的一部分但却没有相关的标准。这个问题在HTML5中得到了解决,HTML5致力于把很多BOM功能写入正式规范。

以上是关于JavaScript学习:JavaScript实现的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript的sleep实现--Javascript异步编程学习

《javascript设计模式与开放实践》学习javascript实现多态2

javascript设计模式学习之一——javascript面向对象与java的区别

使用JavaScript实现机器学习和神经学网络

JavaScript Ajax 实现学习

知了堂学习笔记/利用JavaScript对手风琴的实现/Aidrich