1,定义对象属性为只读,通过 Object.create 的第二个参数 propertiesObject 的 writable 来设置
var person = Object.create(null, { name: { value: "Jack", enumerable: true, configurable: false, writable: false }, age: { value: "21", enumerable: true, configurable: false, writable: true } });
2,捕捉对象属性在 get 和 set 时的事件,通过 Object.defineProperty 的第二个参数的 descriptor 的 get 和 set 来设置
var person={}; var key = 'age'; var val = 21; Object.defineProperty(person,key,{ enumerable: true, configurable: true, get: function(){ console.log('value get : ' + val); return val; }, set: function(newVal){ val = newVal; console.log('value set : ' + val); } })
Leave a Reply