一、定义
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 })