js对象学习

时间:2021-04-08 13:51:48   收藏:0   阅读:0

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

创建方式: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()方法进行定义。 属性只定义获取函数。则该属性只读。

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!