JavaScript高级程序设计(一)JavaScript简介
章节摘要
1.1 JavaScript简史
1.2 JavaScript实现
1.3 JavaScript版本
1.1 JavaScript简史
以Netscape开发的JavaScript1.1为蓝本、由ECMA制定了一种名为ECMAScript的新脚本语言的标准ECMA-262。
1.2 JavaScript实现
一个完整的JavaScript实现由 核心(ECMAScript)、文档对象模型(DOM)、浏览器对象模型(BOM)组成。

1.2.1 ECMAScript
ECMA规定了语法、类型、语句、关键字、保留字、操作符、对象。
1、ECMAScript版本
| 版本 | 发布时间 | 特性 |
| 第1版 | 1997 |
与JavaScipt1.1大体相同,不同处: 1、要求支持UniCode标准(从而支持多语言开发); 2、对象变成了平台无关。 |
| 第2版 | / | 该次更新主要是为了与ISO/IEC-16262保持严格一致,没有任何新增、修改或删节处理。 |
| 第3版 | / |
修改内容:字符串处理、错误定义、数值输出; 新增内容:支持正则表达式、新控制语句、try-catch异常处理; 标志着ECMAScript成为了一门真正的编程语言。 |
| 第4版 | / |
包含了强变量类型、新语句和新数据结构、真正的类和经典继承,还定义了与数据交互的新方式; 在第3版的基础上几乎定义了一门新语言,在正式发布前被放弃。 |
| 第5版 | 2009 |
澄清了第三版中已知歧义; 新增功能:原生JSON对象、继承的方法和高级属性定义、严格模式 |
2、ECMAScript兼容
ECMA-262给出了ECMAScript的兼容定义:
(1)支持ECMA-262描述的所有“类型、值、对象、属性、函数以及程序句法和语义”;
(2)支持Unicode字符标准。
可进行的兼容扩展:
(1)添加ECMA-262没有描述的“更多类型、值、对象、属性和函数”;
(2)支持ECMA-262没有定义的“程序和正则表达式语法”。
3、Web浏览器对ECMAScript的支持

1.2.2 文档对象模型(DOM)
DOM是针对XML但经过扩展用于HTML的API。DOM把整个页面映射为一个多层节点结构页面。
注:XML(EXtensible Markup Language):可扩展标记语言;API(Application Programming Interface):应用程序编程接口
上述HTML页面可以通过下图所示的分层节点图表示:

通过DOM创建的这个表示文档的树形图,开发人员可获得控制页面内容和结构的主动权。借助DOM提供的API,可进行删除、添加、替换或修改任何节点。
1、为什么要使用DOM
Netscape和微软在DHTML方面各抒已见,为了避免Netscape和微软在Web开发领域出现技术上的两强割据,造成浏览器互不兼容的局面。由W3C开始着手规划DOM。
注:DHTML(Dynamic HTML):动态的HTML;W3C(World Wide Web Consortium):万维网联盟
2、DOM级别
| 级别 | 新模块或在原有基础上增加的模块 |
| DOM1级 |
DOM核心:规定如何映射基于XML的文档结构; DOM HTML:添加了针对HTML的对象和方法。 |
| DOM2级 |
DOM视图:定义了跟踪不同文档视图的接口; DOM事件:定义了事件和事件处理的接口; DOM样式:定义了基于CSS为元素应用样式的接口; DOM遍历和范围:定义了遍历和操作文档树的接口。 |
| DOM3级 |
DOM加载和保存模块:以统一方式加载和保存文档的方法; DOM验证模块:验证文档的方法。 |
3、其他DOM标签
有SVG(可伸缩矢量图)、MathML(数学标记语言)、SMIL(同步多媒体集成语言)、XUL(用户界面语言)等。
4、Web浏览器对DOM的支持

1.2.3 浏览器对象模型(BOM)
从根本上讲,BOM只处理浏览器窗口和框架。但是人们也习惯把所有针对浏览器的JavaScript扩展算作BOM的一部分。
例如:
- 弹出新浏览器窗口的功能
- 移动、缩放和关闭浏览器窗口的功能
- 提供浏览器所加载页面的详细信息的location对象
- 提供用户显示器分辨率详细信息的screen对象
- 对cookies的支持
- 像XMLHttpRequest和IE的ActiveObject这样的自定义对象
1.3 JavaScript版本
Netscape/Mozilla浏览器中JavaScript版本号的递增过程:


浙公网安备 33010602011771号