对象是Javascript的基本数据类型。对象可以看作是很多值聚合在一起的复合值,可以看作是很多属性的无序集合,每个属性都是一个名/值对,属性名是字符串。
除了自身的属性外,对象还可以从原型(prototype)继承属性,这种原型式继承是Javascript的核心特征。
Javascript对象是动态的,既可以新加属性,也可以删除属性。
对象常见的用法是创建(create),设置(set),查找(query),删除(delete),检测(test)和枚举(enumerate)它的属性。
属性包括名字和值,名字只能是字符串,空字符串也可以,值可以是任意Javascript的值,或者可以是getter或setter函数。
每个属性还有与之相关的特性:
- 可写 值是否可以修改
- 可枚举 是否可以通过for/in被遍历到
- 可配置 是否可以删除该属性和修改属性的特性
除了包含属性之外,对象还有以下特性:
- 对象的原型 指向另外一个对象,可以继承指向对象的属性
- 对象的类 标示对象类型的字符串
- 扩展标记 是否可以向该对象添加新属性
对象分类:
- 内置对象 ECMAScript规定的类和对象,比如数组、函数、日期和正则表达式
- 宿主对象 由Javascript解释器所嵌入的环境(比如Web浏览器)所定义的对象
- 自定义对象 运行中的Javascript代码创建的对象
属性分类:
- 自有属性 直接在对象中定义的属性
- 继承属性 在对象的原型对象中定义的属性
网友评论