1,199   JS

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

Your email address will not be published. Required fields are marked *