对象的 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