Object.defineProperty()

Posted leaf930814

tags:

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

一、定义

Object.defineProperty() 会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性, 并返回这个对象。

二、使用

Object.defineProperty(Object.prototype, ‘extend‘,{
  value : function(def, opt) {
	  	for(var key in opt){
			def[key] = opt[key];
		}
	return def;
  },
  writable: true,
  enumerable : false
});

 

function func(options){
	let def = {
		payType: ‘wechat‘,
		buyType: -1,
		isCard: false,
		toUid: -1,
		couponId: -1
	};

	let opt = extend(def, options);

	this.isCardPay = opt.isCard;
	this.payType = opt.payType;
	.......
}

//使用
fuc({
    payType: ‘ali‘,
    buyType: 2,
    isCard: true,
    toUid: 123456,
    couponId: 667890
})

  

  

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

Object.defineProperty的理解思路

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

解析神奇的 Object.defineProperty

解析 神奇的 Object.defineProperty

解析神奇的 Object.defineProperty

Vue双向绑定的关键:Object.defineProperty()