1.
JavaScript的组成
JavaScript是一种专门为与网页交互而设计的脚本语言,由下列三个不部分组成:
JavaScript 组成图
核心 (EMCAScript)- 由ECMA-262定义,提供核心语言功能;
文档对象模型 (DOM)- 提供访问和操作网页内容的方法和接口;
浏览器对象模型 (BOM)- 提供与浏览器交互的方法和接口;
1.1
EMCAScript
EMCA-262标准规定:
- 语法
- 类型
- 语句
- 关键字
- 保留字
- 操作符
- 对象
EMCAScript就是对实现该标准规定的各个方面内容的语言的描述。
主流浏览器对EMCAScript支持情况:
浏览器 | ECMAScript兼容性 |
---|---|
Opera 6~7.1 | 第2版 |
Opera7.2+ | 第3版 |
Opera 11.6 | 第5版 |
Safari 4.x~5.x | 第5版(不完全兼容实现) |
IE5.5 ~ IE7 | 第3版 |
IE8 | 第5版(不完全兼容实现) |
IE9+ | 第5版 |
Chrome 13+ | 第5版 |
Firefox 4.0+ | 第5版 |
注:IE9 不支持严格模式,IE10支持。
具体各浏览器对EMCAScript5和EMCAScript6的支持可参照如下:
EMCAScript5的支持情况
EMCAScript6的支持情况
1.2
文档对象模型(DOM)
文档对象模型(DOM,Document Object Model)是针对XML但经过扩展用于HTML的应用程序编程接口(API,Application Programming Interface)。DOM把整个页面映射为一个多层节点结构。
<html>
<head>
<title>demo page</title>
</head>
<body>
<p>Hello World!</p>
</body>
</html>
DOM 对此的解析可以表现为树形图:
文档树形图
主流浏览器对DOM标准的支持情况:
浏览器 | DOM兼容性 |
---|---|
IE5.5 ~ IE8 | 1级(几乎全部) |
IE9+ | 1级、2级、3级 |
Opera 10+ | 1级、2级、3级(几乎全部) |
Chrome 1+ | 1级、2级(部分) |
Firefox 1+ | 1级、2级(几乎全部)、3级 |
1.3
浏览器对象模型(BOM)
根本上讲,BOM只处理浏览器窗口和框架,但习惯上把针对浏览器的JavaScript扩展算作BOM的一部分。扩展如下:
* 弹出新浏览器窗口的功能;
* 移动、缩放和关闭浏览器窗口的功能;
* 提供浏览器详细信息的navigator对象;
* 提供浏览器所加载页面的详细信息的location对象;
* 提供用户显示分辨率详细信息的screen对象;
* 对cookie的支持;
* 类似于XMLHttpRequest和IE的ActiveXObject自定义对象。
1.4
总结
当前主流浏览器(IE、Firefox、Chrome、Safari、Opera)对JavaScript三个组成部分(EMCAScript、DOM、BOM)的都有不同程度的支持。
- 其中对EMCAScript5的支持已都基本实现;
- 对DOM的支持彼此相差较多;
- BOM已正式纳入HTML5标准,尽管各浏览器实现了众所周知的共同特性,但其他特性还是会因浏览器而异。
网友评论