Object.defineProperty 相关学习
Object.defineProperty 学习
- 描述:
- 方法直接在对象上定义一个新属性,或修改对象上的现有属性
 - 并返回该对象。该方法允许精确地添加或修改对象上的属性;
 - 语法:
- Object.defineProperty(obj, prop, descriptor)
- obj
必需。目标对象 - prop
定义或者修改的属性名称 - descriptor
对要定义或者修改的属性的描述 
 - obj
 
 - Object.defineProperty(obj, prop, descriptor)
 
 - descriptor 目标属性所拥有的特性配置项
- configurable:true | false,   
- 是否可以删除目标属性或是否可以再次修改属性的特性(writable, configurable, enumerable)。
 - 设置为true可以被删除或可以重新设置特性;
 - 设置为false,不能被可以被删除或不可以重新设置特性。
 - 默认为false。
 
 - enumerable:true | false,     
- 此属性是否可以被枚举(使用for...in或Object.keys())。
 - 设置为true可以被枚举;
 - 设置为false,不能被枚举。
 - 默认为false。
 
 - value:任意类型的值,
- 属性对应的值,可以使任意类型的值,
 - 默认为undefined
 
 - writable:true | false
- 属性的值是否可以被重写。
 - 设置为true可以被重写;
 - 设置为false,不能被重写。
 - 默认为false。
 
 - 存储器描述
- 注意:
- 1. 当使用了getter或setter方法,不允许使用writable和value这两个属性
 - 2. get或set不是必须成对出现,任写其一就可以。如果不设置方法,则get和set的默认值为undefined
 
 - set :function (value){} | undefined
- 是一种设置属性值的方法
 - 当设置值的时候触发的函数,设置的新值通过参数value拿到
 
 - get :function (){} | undefined
- 当获取值的时候触发的函数
 - 通过返回值设置
 
 
 - 注意:
 
 - configurable:true | false,   
 
<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">

                
            
        
浙公网安备 33010602011771号