JavaScript第一章知识梳理
JavaScript介绍
JavaScript诞生于 1995年。当时,它的主要目的是处理以前由服务器端语言(如 Perl)负责的一 些输入验证操作。JavaScript的用途不仅局限于简单的数据验证,而且具备了与浏览器窗口及其内容等几乎所有方面交互的能力。JavaScript已经成为一门功能全面的编程语言,能够处理复杂的计算和交互,拥有了闭包、匿名(lamda, 拉姆达)函数,甚至元编程等特性。
JavaScript实现
- 核心(ECMAScript)
- 文档对象模型(DOM)
-
浏览器对象模型(BOM)
微信图片_20190713231923.png
1、ECMAScript
ECMAScript由ECMA-262定义,而ECMA-262定义的只是这门语言的基础,而在此基础之上可以构建更完善的脚本语言。ECMAScript需要在类似于web浏览器之类的宿主环境中才有实现的可能,同时宿主环境也会提供该语言的扩展,以便语言与环境之间对接交互。 举个例子,如果说web浏览器是一台电脑,ECMAScript就相当于是CPU,为JAVAScript中的各种功能的实现提供可能。
另外,ECMA-262规定了这门语言的六个部分
- 语法
- 类型
- 语句
- 关键字
- 保留字
- 操作符
- 对象
ECMA的兼容
- 支持 ECMA-262描述的所有“类型、值、对象、属性、函数以及程序句法和语义
- 支持 Unicode字符标准。 此外,兼容的实现还可以进行下列扩展。
- 添加 ECMA-262没有描述的“更多类型、值、对象、属性和函数”。ECMA-262所说的这些新增 特性,主要是指该标准中没有规定的新对象和对象的新属性。
- 支持 ECMA-262 没有定义的“程序和正则表达式语法”。
2、文档对象模型(DOM)
文档对象模型(DOM,Document Object Model)是针对 XML但经过扩展用于 HTML的应用程序编 程接口(API,Application Programming Interface)。
DOM把整个页面映射为一个多层节点结构。
DOM级别
DOM分为DOM1,DOM2以及DOM3三个级别。DOM1级的目标主要是映射文档的结构,DOM2级在 原来 DOM的基础上又扩充了(DHTML一直都支持的)鼠标和用户界面事件、范围、遍历(迭代 DOM 文档的方法)等细分模块,而且通过对象接口增加了对 CSS(Cascading Style Sheets,层叠样式表)的 支持。DOM3 级也对 DOM 核心进行了扩展,开始支持 XML 1.0 规范,涉及 XML Infoset、XPath 和 XML Base。
DOM标准
每种语言的 DOM标准都添加了与特定语言相关的新方法和新接口:
- SVG(Scalable Vector Graphic,可伸缩矢量图)1.0;
- MathML(Mathematical Markup Language,数学标记语言)1.0;
- SMIL(Synchronized Multimedia Integration Language,同步多媒体集成语言)。
3、浏览器对象模型(BOM)
在BOM问世后,开发人员使用 BOM可以控制浏览器显示的页面 以外的部分。从根本上讲,BOM只处理浏览器窗口和框架;但人们习惯上也把所有针对浏览器的 JavaScript扩展 算作 BOM的一部分。下面就是一些这样的扩展:
- 弹出新浏览器窗口的功能;
- 移动、缩放和关闭浏览器窗口的功能;
- 提供浏览器详细信息的 navigator 对象;
- 提供浏览器所加载页面的详细信息的 location 对象;
- 提供用户显示器分辨率详细信息的 screen 对象;
- 对 cookies的支持;
- 像 XMLHttpRequest 和 IE的 ActiveXObject 这样的自定义对象。
小结
- ECMAScript,由 ECMA-262定义,提供核心语言功能;
- 文档对象模型(DOM),提供访问和操作网页内容的方法和接口;
- 浏览器对象模型(BOM),提供与浏览器交互的方法和接口。