对象的 set get 是es5的中对象的特性,使用示例:
在初始化对象的时候这样使用
var obj={ a: 1, b: 2, set c(x){console.log('c被赋值:',x);c=x;}, get c(){console.log('c被取出: ',c);return c} }; obj.c=3 //c被赋值: 3 obj.c //c被取出: 3
对象初始化之后可以这样添加属性
var obj={ a: 1, b: 2 }; obj.__defineGetter__('c', function(){return c}); obj.__defineSetter__('c', function(x){c = x});
或者使用
Object.defineProperty(obj, c, {
set:function(x){
console.log('c被赋值:',x);
c=x
},
get:function(){
console.log('c被取出:',c)
return c
}
})
obj.c=3 //c被赋值: 3
obj.c //c被取出: 3