第一部分 Javascript基础 第3节 javascript对象的分类
2013-02-16 00:00
225 查看
javascript 对象分类
javascript组成(ECMAScript,DOM,BOM)
概览
![](http://static.oschina.net/uploads/img/201302/16215245_UuAP.png)
核心(ECMAScript):标准
ECMAScript是一个标准或者规范它定义了一种语言的下面内容:
语法
类型
语句
关键字
保留字
运算符
对象
javascript是由各浏览器厂商实现的符合ECMAScript这些内容的语言。JScript是另一种实现了这些东西的语言。
文档对象模型(DOM):描述了处理网页内容的方法和接口
文档对象模型(DOM):描述了处理网页内容的方法和接口 (参考内容:http://developer.51cto.com/art/201009/224979.htm)
DOM本身也是一种标准或者规范,它定义了一种以面向对象方式描述的文档模型,并以节点层级来具体展现。
使用这种方式以及DOM定义的一些接口,能够使开发者对文档的内容和结构具有相当好的控制能力。
DOM 在被 Web 浏览器开始实现之前就已经是一种标准了。
早期网景公司和微软公司支持不同形态的DHTML(动态HTML:不通过网页刷新即可更新文档结构,其实就是使用各自的DOM接口来操作HTML),
为了能够做到浏览器兼容性,W3C制订了一个DOM规范(现在已经发展到DOM Level 3),
其本质是建立网页与Script或程序语言沟通的桥梁,并保持浏览器兼容性。
DOM level 3也是各浏览器厂商各自实现的,所以会有兼容性问题。
浏览器对象模型(BOM):描述了与浏览器进行交互的方法和接口
从名字上可以看出,它是用来操作浏览器的一个模型,利用javascript通过BOM定义的接口和方法来与浏览器交互。
需要注意的是BOM不是一个标准,不同浏览器厂商有不同的BOM接口及实现(不兼容是必然的!)。
为数不多的共同点是各浏览器厂商有一个共同的窗口对象和导航对象,但是这些对象的属性和方法,浏览器厂商也可以任意扩展。
BOM 主要处理浏览器窗口和框架,不过通常浏览器特定的 JavaScript 扩展都被看做 BOM 的一部分。这些扩展包括:
弹出新的浏览器窗口
移动、关闭浏览器窗口以及调整窗口大小
提供 Web 浏览器详细信息的定位对象
提供用户屏幕分辨率详细信息的屏幕对象
对 cookie 的支持
IE 扩展了 BOM,加入了 ActiveXObject 类,可以通过 JavaScript 实例化 ActiveX 对象
![](http://static.oschina.net/uploads/img/201302/16215256_LUAd.jpg)
javascript 对象分类(native object 本地对象 , build-in object 内置对象, host object 宿主对象)
native object 本地对象
ECMA-262 把本地对象(native object)定义为“独立于宿主环境的 ECMAScript 实现提供的对象”。简单来说,本地对象就是 ECMA-262 定义的类(引用类型)。它们包括:
Object
Function
Array
String
Boolean
Number
Date
RegExp
Error
EvalError
RangeError
ReferenceError
SyntaxError
TypeError
URIError
build-in object 内置对象
ECMA-262 把内置对象(built-in object)定义为“由 ECMAScript 实现提供的、独立于宿主环境的所有对象,在 ECMAScript 程序开始执行时出现”。
这意味着开发者不必明确实例化内置对象,它已被实例化了。
ECMA-262 只定义了两个内置对象,即 Global 和 Math (它们也是本地对象,根据定义,每个内置对象都是本地对象)。
host object 宿主对象
宿主对象
所有非本地对象都是宿主对象(host object),即由 ECMAScript 实现的宿主环境提供的对象。
所有 BOM(Window(同window)之类的) 和 DOM(document之类的) 对象都是宿主对象。
javascript组成(ECMAScript,DOM,BOM)
概览
![](http://static.oschina.net/uploads/img/201302/16215245_UuAP.png)
核心(ECMAScript):标准
ECMAScript是一个标准或者规范它定义了一种语言的下面内容:
语法
类型
语句
关键字
保留字
运算符
对象
javascript是由各浏览器厂商实现的符合ECMAScript这些内容的语言。JScript是另一种实现了这些东西的语言。
文档对象模型(DOM):描述了处理网页内容的方法和接口
文档对象模型(DOM):描述了处理网页内容的方法和接口 (参考内容:http://developer.51cto.com/art/201009/224979.htm)
DOM本身也是一种标准或者规范,它定义了一种以面向对象方式描述的文档模型,并以节点层级来具体展现。
使用这种方式以及DOM定义的一些接口,能够使开发者对文档的内容和结构具有相当好的控制能力。
DOM 在被 Web 浏览器开始实现之前就已经是一种标准了。
早期网景公司和微软公司支持不同形态的DHTML(动态HTML:不通过网页刷新即可更新文档结构,其实就是使用各自的DOM接口来操作HTML),
为了能够做到浏览器兼容性,W3C制订了一个DOM规范(现在已经发展到DOM Level 3),
其本质是建立网页与Script或程序语言沟通的桥梁,并保持浏览器兼容性。
DOM level 3也是各浏览器厂商各自实现的,所以会有兼容性问题。
浏览器对象模型(BOM):描述了与浏览器进行交互的方法和接口
从名字上可以看出,它是用来操作浏览器的一个模型,利用javascript通过BOM定义的接口和方法来与浏览器交互。
需要注意的是BOM不是一个标准,不同浏览器厂商有不同的BOM接口及实现(不兼容是必然的!)。
为数不多的共同点是各浏览器厂商有一个共同的窗口对象和导航对象,但是这些对象的属性和方法,浏览器厂商也可以任意扩展。
BOM 主要处理浏览器窗口和框架,不过通常浏览器特定的 JavaScript 扩展都被看做 BOM 的一部分。这些扩展包括:
弹出新的浏览器窗口
移动、关闭浏览器窗口以及调整窗口大小
提供 Web 浏览器详细信息的定位对象
提供用户屏幕分辨率详细信息的屏幕对象
对 cookie 的支持
IE 扩展了 BOM,加入了 ActiveXObject 类,可以通过 JavaScript 实例化 ActiveX 对象
![](http://static.oschina.net/uploads/img/201302/16215256_LUAd.jpg)
javascript 对象分类(native object 本地对象 , build-in object 内置对象, host object 宿主对象)
native object 本地对象
ECMA-262 把本地对象(native object)定义为“独立于宿主环境的 ECMAScript 实现提供的对象”。简单来说,本地对象就是 ECMA-262 定义的类(引用类型)。它们包括:
Object
Function
Array
String
Boolean
Number
Date
RegExp
Error
EvalError
RangeError
ReferenceError
SyntaxError
TypeError
URIError
build-in object 内置对象
ECMA-262 把内置对象(built-in object)定义为“由 ECMAScript 实现提供的、独立于宿主环境的所有对象,在 ECMAScript 程序开始执行时出现”。
这意味着开发者不必明确实例化内置对象,它已被实例化了。
ECMA-262 只定义了两个内置对象,即 Global 和 Math (它们也是本地对象,根据定义,每个内置对象都是本地对象)。
host object 宿主对象
宿主对象
所有非本地对象都是宿主对象(host object),即由 ECMAScript 实现的宿主环境提供的对象。
所有 BOM(Window(同window)之类的) 和 DOM(document之类的) 对象都是宿主对象。
相关文章推荐
- 第一部分 Javascript 基础 第2节 javascript的对象和函数
- open()文件对象的seek、tell方法详解 分类: python基础学习 open()文件读写 python Module 2013-09-05 09:40 450人阅读 评论(0) 收藏
- JavaScript基础(三)对象
- JavaScript基础语法测试代码,覆盖JavaScript五大对象和function!
- Javascript对象基础讲解
- javascript基础知识梳理-对象
- WEBBASIC Unit04&05 JavaScript 概述 、 JavaScript 基础语法 、 流程控制、 JavaScript对象概述 、 常用内置对象一 、 常用内置对象二 、 常用内置
- javascript学习之对象基础
- yield生成器对象返回Fiabs元素 分类: python 小练习 python基础学习 2014-01-13 10:28 193人阅读 评论(0) 收藏
- javascript基础学习-内置对象(四)
- JavaScript基础(六)其他知识点,日期,Math,数组,对象
- JavaScript对象基础
- JavaScript基础系列11---事件对象
- javascript基础。bom对象
- JavaScript相关-基础语法,常用对象和简单事件
- JavaScript基础——JSON对象
- 重拾JavaScript基础(一) - ECMAScript对象
- 一步步学习javascript基础篇(5):面向对象设计之对象继承(原型链继承)
- JavaScript面向对象基础
- JavaScript基础系列之三 标准对象