不好意思因为懒,,我懒得弄图,,就是代码+注释
//getter 和 setter 都是一个隐藏函数,会在获取属性的值或者设置属性的值得实惠调用
//不定义就是默认操作,也就是平时 使用的obj.a = 5 就是把obj.a设置成5
//自己定义也可以,如果一个属性,你给他定义了 getter或者setter或者两个都有,这个属性会被定义成
//访问描述符(还有一个叫数据描述符的,这两个玩意之后帖子再说),这次就先简单认识下
var obj = {
get a(){
return this._a_;
}
,
set a(val){
this._a_ = val;
}
}
obj.a = 5;
console.log(obj.a);//5
//好像不写get set也是一样的效果哈。。。
var obj = {}
obj.a = 5;
console.log(obj.a);//5
//改下代码
var obj = {
get a(){
return this._a_;
}
,
set a(val){
this._a_ = val*2;
}
}
obj.a = 5;
console.log(obj.a);//10
//有变化了 再改下
var obj = {
get a(){
return 2;
}
}
obj.a = 5;
console.log(obj.a);
//没设置 set set默认操作 但是 get 直接返回2 所以。。。。。。就是2