对象
对象是将很多原值或者其他对象聚合在一起的复合值。
对象的别名:{name1:"散列(hash)",name2:"散列表(hashtable)",name3:"字典(dictionary)",name4:"关联数组(associative array)"}。
JavaScript核心特征:原型式继承。
原型式继承:javascript对象可以从一个称为原型的对象继承属性。
对象特性:
①对象的原型(prototype)指向另一个对象,本对象的属性继承自他的原型对象。
②对象的类(class)是一个标识对象类型的字符串。
③对象的扩展标记(extensible flag)指明了(在ECMAScript 5中)是否可以向该对象添加新属性。
对象的属性
对象是属性的无序集合,属性以名/值方式存在。
属性名是字符串,我们可以把对象看成是从字符串到值的映射。
属性特性:
①可写(writable attribute),表明是否可以设置该属性的值。
②可枚举(enumerable attribute),表明是否可以通过for/in循环返回该属性。
③可配置(configurable attribute),表明是否可以删除或修改该属性。
对象小结
Javascript对象是动态的,可以新增属性也可以删除属性,他们常用来模拟静态对象以及静态类语言中的“结构体”(struct)。有时他们也用做字符串的集合(忽略名/值对中的值)。
除了字符串、数字、true、false和undefined,JavaScript中的值都是对象。
对象是可变的,我们通过引用而不是值来操作对象。
三类JavaScript对象和两类属性的区分
三类对象:
①内置对象(native object)是有ECMAScript规范定义的对象或类。例如,数组、函数、日期和正则表达式都是内置对象。
②宿主对象(host object)是由JavaScript解释器所嵌入的宿主环境(比如Web浏览器)定义的。客户端JavaScript中表示网页结构的HTMLElement对象均是宿主对象。宿主环境定义的方法可以当成普通的JavaScript函数对象,宿主对象也可以当成内置对象。
③自定义对象(user-defined object)是由运行中的JavaScript代码创建的对象。
两类属性:
①自有属性(own property)是直接在对象中定义的属性。
②继承对象(inherited property)是在对象的原型对象中定义的属性。
本文介绍了JavaScript中的对象,包括对象的别名如散列、散列表、字典和关联数组。JavaScript的核心特性是原型式继承,对象的属性具备可写、可枚举和可配置特性。此外,还详细阐述了内置对象、宿主对象和自定义对象的分类,以及自有属性和继承属性的区分。
2485

被折叠的 条评论
为什么被折叠?



