getter 和setter
- getter:不加括号的函数,使用的时候不加括号
get 姓名(){
return this.姓+this.名
}
- setter:接受一个参数,调用的时候传入新参数,就调取setter
set 姓名(xxx){
this.姓 = xxx[0]
this.名 = xxx.substring(1)
}
Object.defineProperty('在哪个对象上','xxx',{})xxx就是get、set后面的虚拟名字
当你定义完一个对象之后,重新在对象上额外添加get和set
let _xxx = 0
Object.defineProperty(obj,'xxx',{
get(){
return _xxx
},
set(value){
_xxx = value
}
})