老师,你看这么理解对么
虽然 obj中没有一开始定义 name的值是什么 ,但是有name属性值的方法 所以在obj外设置name的值时 会触发set 的方法 将222 赋值给了_name 这里不等于name的值是222;
37
收起
正在回答
3回答
同学你好,可以这样理解,具体如下:
get和set方法,是对象默认就有的属性:访问对象的属性时,默认会调用get方法;修改属性值时,默认调用set方法,所以get和set内的代码,书写形式比较多样。比如:我们这里为了给obj设置name属性,在get和set方法内,实际操作的是_name,即_name这个属性做为一个中间纽带,利用它,实现了为obj设置name属性;如果在get和set内直接操作name属性,会造成死循环现象,如下:
原因就是在get方法内,代码执行“return this.name”时,由于“this.name"是获取name属性,还会触发get方法,所以死循环:
因此在get和set方法内,将name属性换成了_name,对于该点,同学了解即可。
祝学习愉快!
4.Vue与React高级框架开发
- 参与学习 人
- 提交作业 239 份
- 解答问题 10739 个
本阶段带你深入前端开发的肌理,通过ES6基础知识和前端主流高级框架的学习,助你快速构建企业级移动webAPP应用,进入职场的终极battle
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星