JavaScript是什么?
JavaScript 和 ECMAScript 通常被认为表达相同的含义。实际上他们是不同的,可以用下面这张图来说明两者的关系。

一个完整的 JavaScript 包含三部分:
- 核心(ECMAScript)
- 文档对象模型(DOM)
- 浏览器对象模型(BOM)
0.2.1 ECMAScript
ECMAScript 可以理解为一种脚本语言的语法标准(规范),它规定了哪些内容呢?一般有:语法、类型、语句、关键字、操作符、对象 等。。。而 JavaScript 语言就是这个标准的实现。(Adobe ActionScript 同样也实现了 ECMAScript)
至今为止有七个 ECMA-262 版本发表。最新的版本为 2015年6月 发布的 ECMAScript 2015 (6th Edition) 规范文档(俗称 ES6)。
0.2.2 DOM
文档对象模型是用于 HTML 的应用程序编程接口(API)。DOM 把整个页面映射成一个多层节点结构,不同类型的节点包含着不同的数据。并且这些节点可以很方便地添加、删除和修改。
<html> DOM结构: html
<head> head
<title>Sample Page</title> title
</head> Sample Page
<body> body
<p>Hello World!</p> p
</body> Hello World
</html>
DOM 规范由 W3C组织制定,目前最新版本被称为 DOM3级规范。3级 DOM 通过引入统一方式载入和保存文档和文档验证方法对DOM进行进一步扩展,DOM3包含一个名为“DOM载入与保存”的新模块,DOM 核心扩展后可支持 XML1.0 的所有内容,包括 XML Infoset、 XPath、和 XML Base等。功能很多,后面会讲解。
PS:
DOM 并不是针对 JavaScript 的,很多语言都实现了 DOM。
0.2.3 BOM
使用 BOM 控制浏览器页面以外的部分。包含这些功能:浏览器窗口操作(缩放、关闭、移动等)、提供浏览器详细信息、提供显示器详细信息等。BOM 的相关规范写在 HTML5 中。后面会深入探讨。