码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2019-01-02 12:34:43      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:更改   没有   function   pre   修改属性   var   方法   方法返回值   fine   

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 ) 理解应用

标签:更改   没有   function   pre   修改属性   var   方法   方法返回值   fine   

原文地址:https://www.cnblogs.com/tongbiao/p/10207202.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!