Object.defineProperty(o,p,descriptor ) 理解应用

Posted tongbiao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Object.defineProperty(o,p,descriptor ) 理解应用相关的知识,希望对你有一定的参考价值。

1. Object.defineProperty  在一个对象上定义一个新属性,或修改一个已经存在的属性, 最终返回这个对象。

var __define = this.__define || function (o, p, g, s) {
  Object.defineProperty(o, p, {
    configurable: true,
    enumerable: true,
    get: g,
    set: s
  });
};


o: 需要定义属性的 对象。

p:要定义或修改的 名称 或 属性

descriptor : 正在定义或修改属性的描述符。

descriptor :

configurabletrue 当且仅当可以更改此属性描述符的类型并且可以从相应对象中删除该属性时。默认为false

enumerable: 仅当该属性的 enumerable 为 true 时,该属性才能够出现在对象的枚举属性中。默认为 false

get: 一个给属性提供 getter 的方法,如果没有 getter 则为 undefined。该方法返回值被用作属性值。undefined

set: 一个给属性提供 setter 的方法,如果没有 setter 则为 undefined。该方法将接受唯一参数,并将该参数的新值分配给该属性。默认为undefined


以上是关于Object.defineProperty(o,p,descriptor ) 理解应用的主要内容,如果未能解决你的问题,请参考以下文章

Object.defineProperty小解

理解Object.defineProperty方法

Object.defineProperty()

Object.defineProperty()

深入浅出Object.defineProperty()

20+行代码使用es5 Object.defineProperty 实现简单的watch功能