新学JS对象概念小结(摘录于犀牛书第6版)

本文介绍了JavaScript中的对象,包括对象的别名如散列、散列表、字典和关联数组。JavaScript的核心特性是原型式继承,对象的属性具备可写、可枚举和可配置特性。此外,还详细阐述了内置对象、宿主对象和自定义对象的分类,以及自有属性和继承属性的区分。
对象

对象是将很多原值或者其他对象聚合在一起的复合值。

对象的别名:{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)是在对象的原型对象中定义的属性。

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值