正在回答 回答被采纳积分+1
1回答
好帮手慕然然
2021-09-27 17:30:16
同学你好,原因如下:
首先,这句代码 var obj1 = obj.a() 表示:调用obj对象中的方法a,并将返回值赋给变量obj1。
方法a的调用方式为:对象打点调用它的方法函数【规则1】,则函数中的上下文(this)是这个打点的对象。
所以,在函数a中,this指向obj,this.b为obj对象的属性b,如图
然后,将方法a的返回值this.b赋给变量obj1(相当于 obj1 = this.b),此时obj1变为一个函数,如图
最后,调用obj1函数,即obj1(),此时是以圆括号的形式调用的【规则2】,所以函数中的this指向window对象,this.c是window对象的属性c,如图
祝学习愉快!
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星