首页 > 代码库 > Object.defineProperty

Object.defineProperty

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

    }

  })

Object.defineProperty