defineProperty()定义对象中新属性或者修改原有的属性;
Object.defineProperty(obj,prop,descriptor)
defineProperty()方法需要传三个参数:
- obj:必须,目标对象;
- prop:必须;需要定义或修改的属性名字;
- descriptor:必须;目标属性所拥有的特性;
第三个参数——>descriptor,说明,需要写成对象形式:
- value:设置属性值,默认undefined;
- writable:是否可以重写,true | false,默认false;
- enumerable:目标属性是否可以被枚举,true | false,默认false;
- configerable:目标属性是否可以删除或者再次修改特性,true | false,默认false;
e.g.
Object.defineProperty(obj,prop,{
value:'',
writable:false,
enumerable:true,
configurable:false
})