第一章 JavaScript简介

143 阅读3分钟

1、JavaScript实现

JavaScript组成

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

  • 核心(ECMAScript)
  • 文档对象模型(DOM)
  • 浏览器对象模型(BOM)
image-20200517182522158

ECMAScript

ECMAScript规定了语法、类型、语句、关键字、保留字、操作符、对象

  • 什么是ECMAScript兼容

    要想成为 ECMAScript 的实现,则该实现必须做到:

    • 支持 ECMA-262 描述的所有“类型、值、对象、属性、函数以及程序句法和语义”;

    • 支持 Unicode 字符标准。

    此外,兼容的实现还可以进行下列扩展

    • 添加 ECMA-262 没有描述的“更多类型、值、对象、属性和函数”。ECMA-262 所说的这些新增特性,主要是指该标准中没有规定的新对象和对象的新属性。

    • 支持 ECMA-262 没有定义的“程序和正则表达式语法”。(也就是说,可以修改和扩展内置的正则表达式语法)

文档对象模型(DOM)

文档对象模型(DOM)是针对 XML 但经过扩展用于 HTML 的应用程序编程接口(API)。DOM 把整个页面映射为一个多层节点结构。HTML 或 XML 页面中的每个组成部分都是某种类型的节点,这些节点又包含着不同类型的数据。通过DOM创建表示文档的树形图,开发人员获得了控制页面内容和结构的主动权。借助DOM提供的 API,开发人员可以轻松自如地删除、添加、替换或修改任何节点。

  • DOM级别

    • DOM1级

      DOM核心(DOM Core):规定映射基于XML的文档结构

      DOM HTML:针对HTML的对象和方法

    • DOM2级

      DOM核心模块:支持XML命名空间

      DOM 视图(DOM Views):定义了跟踪不同文档视图的接口

      DOM 事件(DOM Events):定义了事件和事件处理的接口

      DOM 样式(DOM Style):定义了基于 CSS 为元素应用样式的接口

      DOM 遍历和范围(DOM Traversal and Range):定义了遍历和操作文档树的接口

    • DOM3级

      DOM核心模块:支持XML1.0规范

      DOM 加载和保存(DOM Load and Save):引入了以统一方式加载和保存文档的方法

      DOM 验证(DOM Validation):新增了验证文档的方法

浏览器对象模型(BOM)

浏览器对象模型(BOM)支持访问和操作浏览器窗口,开发人员使用 BOM 可以控制浏览器显示的页面 以外的部分。从根本上讲,BOM 只处理浏览器窗口和框架;但人们习惯上也把所有针对浏览器的 JavaScript 扩展算作 BOM 的一部分。

下面就是一些这样的扩展:

  • 弹出新浏览器窗口的功能

  • 移动、缩放和关闭浏览器窗口的功能

  • 提供浏览器详细信息的 navigator 对象

  • 提供浏览器所加载页面的详细信息的 location 对象

  • 提供用户显示器分辨率详细信息的 screen 对象

  • 对 cookies 的支持

  • 像 XMLHttpRequest 和 IE 的 ActiveXObject 这样的自定义对象