对象有两种属性 数据属性 和 存取器属性
存取器属性就是一组获取值和设置值的函数 getter负责获取值 不带任何参数,setter负责设置值,其函数体中的一切return都是无效的。
声明对象或创建对象 或对象属性时,一般声明get 和 set调用getter setter函数。
添加getter setter的方法
1 字面值创建对象时声明 get 和 set
2 Object.create
3 Object.defineProperty
4 Object.defineProperties
5 Object.prototype.defineGetter 以及 Object.prototype.defineSetter
声明了一个属性名后 get和set不可以声明同样的名字的方法名,会形成死循环造成内存溢出。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/set
https://www.jb51.net/article/141739.htm
https://www.cnblogs.com/wenxuehai/p/10333987.html