首页 > 代码库 > javascript权威指南(6) - 对象

javascript权威指南(6) - 对象

JavaScript对象可以从一个称为原型的对象继承属性,这种"原型式继承"(prototypal inheritance)是JavaScript的核心特征。除了字符串、数字、true、false、null和undefined之外,JavaScript中的值都是对象。对象时可变的,可以增加或者删除对象的属性,通过引用而非值来操作对象

对象的常见用法是create对象以及设置(set), 查找(query), 删除(delete), 检测(test), 枚举(enumerate)对象的属性。

对象中不能存在同名的属性,属性值可以是任意JavaScript值,或者(ECMAScript5中)可以是一个getter或setter函数(或者两者都有)。除此之外,每个属性还有一些与之相关的值,称为"属性特征",如可写(writable)、可枚举(enumerable)、可配置(configurable)。

除了包含属性之外,每个对象还拥有三个相关的对象特性:

对象的原型(prototype):指向另外一个对象,本对象的属性继承自它的原型对象。
对象的类(class):是一个标识对象类型的字符串。
对象的扩展标记(extensible flag):指明了(ECMAScript5中)是否可以向该对象添加新属性。

三类JavaScript对象和两类属性:

内置对象(native object): 由ECMAScript规范定义的对象或类。例如Arrays, functions, dates, 和regular expressions。
宿主对象(host object): 由JavaScript解释器所嵌入的宿主环境(例如web browser)定义的. 如HTMLElement。宿主对象也可以当做内置对象。
自定义对象(user-defined object): 由运行中的JavaScrip代码创建的对象。
自有属性(own property): 直接在对象中定义的属性。
继承属性(inherited property): 在对象的原型对象中定义的属性。

 

javascript权威指南(6) - 对象