一、界说

无序特点的调集(散列表),其特点能够包含根本值,目标或超级赛罗搏斗,JavaScript根底知识——面向目标,终身所爱函数;

每个目标都是根据一个引证类型创立的,这个引证类型能够是原生类型,性用品店也能够是自界说类型。

二、创立目标

创立一个Object实例




目标字面量



其间name和age是person的特点,sayName是person的办法。

三、特点类型

只要内部才用的特性,超级赛罗搏斗,JavaScript根底知识——面向目标,终身所爱在JS中不能直接拜访它们,为了表明特性是内部值,把它们放到了[[]]中;

ECMAScript中有以下两种属超级赛罗搏斗,JavaScript根底知识——面向目标,终身所爱性:数据特点和拜访器特点。



数据特点

其ramqaran中,person.nam中餐厅之万能巨星e的[Configurable]]、[[Enumerable]]、[[Writa家法板子ble]]都为true,[[Value]]为Memory。

修正数据特点:Object.defineProperty(目标obj, [特点称号], 描述符目标)

其间,描述符对超级赛罗搏斗,JavaScript根底知识——面向目标,终身所爱象的特点有必要是configurable、enumerable、writable、value之内的一到四个。

在调用Object.de鸿蒙天演诀fineProperty时,假如不军中铁脊柱指定,configurable、enumerable、writable的值都默以为false;

在把configurable设为false之前,能够屡次调用Object.defineProperty()修正同一个特点集食惠网。之后修正除writable之外的其他特性,都会导致过错;

测验修正writable:


测验修正configurable:


configurable设为false,即表明不能从目标中删去特点;

假如这个目标调用delete,非严厉形式下会被疏忽,严厉形式下则会抛错。

writable设百鬼志事为false超级赛罗搏斗,JavaScript根底知识——面向目标,终身所爱,即表明该特点不杨大卫可写;

非严厉形式下会钱牛速贷被疏忽,严厉形式下则会抛错。

拜访器特点

拜访器特点包含getter和setter函数(这两个函数都不是必需的)异能高手巫金,其间setter用来写值,getter用来读值。

设置一个特点的庆阳张万福值会导致其他特点的改变,如下例year的变成龙激动拥吻影迷化导致_year 和age的改变:


不一定非要指定getter和setter;

只指定getter意味着特点只能读不能写;

测验写入,在非严厉形式下会被疏忽,严厉形式下则会抛错。

只指定setter意味着特点只能读不能读;

测验读取,在非严厉形式下会回来undefined,严厉形式超级赛罗搏斗,JavaScript根底知识——面向目标,终身所爱下则会抛错。

在该办法之前,要创立拜访器特点一般要使土茅帅用两个非标准的办法:defineGetter() 和 defineSetter()


不支持Object.defineProperty()的浏览器不能修正[Configurable]]和[[Enumerable]]

四、界说多个特点

Object.defineProperties(目标obj,目标 其特点为obj要增加和修正的特点)

五、读取特点的特性

Object.getOwnPropertyDescriptor(目标,特点)

参阅

《Jav超级赛罗搏斗,JavaScript根底知识——面向目标,终身所爱aScript高档程序设计》

六、结语

本文首要介绍了目标特点的各种特性。其首要包含数据特点的[[Configurable]]、[[Enumerable]]、[[Writable]]、[[Value]]和拜访器特点的[[Configurable]]、[[Enumerable]]、[手艺扒真空胎最快办法[Get]]、[[Set]]。

自己收拾了一份2019最全面前端学习材料,从最根底的HTML+CSS+JS到移动重庆丽秋阁端HTML5到各种结构都有收拾,送给每一位前端小伙伴,这里是小0xc00000f白聚集地,欢迎初学和进阶魔乳肯定逝世游戏txt中的小伙伴

如有问题,欢迎纠正。