js对象学习

2021-04-09 05:25

阅读:451

标签:efi   value   setter   获取   ==   描述符   删除   引擎   对象   

对象 === 一组属性的无需集合    每个属性和方法都有一个标识名称,名称映射到一个值。

创建方式:1 new Object() 创建一个Object实例       2 对象字面量  {}    二者等价

对象属性都有自己的特征。特征决定行为。js用一些内部特性描述对象属性特征。内部特性由js实现引擎的规定义。不能直接访问到。 对象属性有数据属性和访问器属性。

数据属性:四个特性:

[[Configurable]]    (配置权限:属性可否被delete删除并重新定义。是否可以改成访问器属性。是否可以修改特性。默认为true)//若修改为false,就不能在变成true,否则报错。

[[Enumberable]]   (遍历权限: 对象属性是否可以使用for in 进行遍历 默认为true)

[[writable]]            (改值权限:对象属性的值能否被修改  默认为true)

[[value]]                (读取和写入值的位置: 包含实际的值  默认undefined)

修改一个对象属性的方法: Object.definePrototype() 方法  接受三个参数:对象名,对象属性名,描述符对象(四个特性):{writable:true,value:‘搞事情‘}

如果描述符对象没有设置,则除value外另外3个特性都默认false

访问器属性:不包含数值。包含一个获取(getter)函数和一个设置(setter)函数。读取访问器属性时:调用getter函数,会返回一个有效的值。写入访问器属性时,调用setter函数并传入新值。这个函数决定对数据做出什么修改。

四个特性:

[[Configurable]]:上同

[[Enumberable]]:上同

[[Get]]: 获取函数,读取属性时调用。默认undefined

[[Set]]:设置函数,写入属性时调用。默认undefined

访问器属性必须通过Object.definePrototype()方法进行定义。 属性只定义获取函数。则该属性只读。

js对象学习

标签:efi   value   setter   获取   ==   描述符   删除   引擎   对象   

原文地址:https://www.cnblogs.com/jgnba/p/14630339.html


评论


亲,登录后才可以留言!