Object.defineProperty(obj,prop,descriptor)
Object.defineProperty方法:定义一个新的属性在对象上(obj),或者修改对象上已经存在的属性,然后返回该对象;
参数:
obj:需要在上面定义属性的对象。
prop:需要定义的或者要修改的属性。
descriptor:属性的配置选项
configurable:如果true,可以从该对象上删除改属性
enumerable:属性是否可以枚举
value:属性的值
writable:属性的值能否更改
get:获取属性的值
set:设置属性的值
//在descriptor中定义了value或者writable,就不能定义get和set方法了
e.g
var p = {}
Object.defineProperty(p,'sex',{
get:function(){
return sex
}
set:function(item){
sex = item
}
})