这个结果为啥是77啊

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕久久 2023-08-10 09:44:42

同学你好,问题解答如下:

1、题目是outer( ).fn( ),先看outer( )调用:

outer中,通过return关键字返回了一个对象,该对象如下(图一):

https://img1.sycdn.imooc.com//climg/64d4408f09a8069105410309.jpg

所以outer( )调用后,会得到下图中的对象:

https://img1.sycdn.imooc.com//climg/62e2010f0903a7c109700560.jpg

2、该对象下的fn属性是个函数,所以outer().fn()--》上图中的对象.fn( ),意思是通过对象点的方式调用fn方法函数。此时this指向就符合课程中:对象.函数名()的规则。如下:

https://img1.sycdn.imooc.com//climg/62e2018f09652b3b08520334.jpg

因此fn中的this就指向图一中的对象上, 所以访问的this.a 值为33, this.b值为44, 最终输出结果为77。

祝学习愉快~

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师