函数里的this不是指向函数的最后调用对象吗?图一图二里不都是this.$elem 调用hover函数吗,为什么两个括号里的this指向却不一样
登陆购买课程后可参与讨论,去登陆吧
同学你好,问题解答如下:
1、当执行hover方法的时候,$.proxy()方法就会执行,$调用的,也就是jquery调用的。
2、前面老师说过这里上下文指的是$.proxy()方法中传入的函数所在对象名称,也就是show函数所在对象名称,show方法是在Dropdown绑定的:
所以$.proxy()方法中的this指向的是Dropdown,改变了this的指向。可以再理解下。
祝学习愉快!
同学你好,是proxy方法的原因。
一般情况下函数里的this指向函数的最后调用对象,这里理解没有问题
但是show方法是在Dropdown对象上的,this.$elem元素上并没有此方法,所以this.show调用的时候就会报错。
老师为了解决这个问题,使用了$.proxy() ,该方法接受一个已有的函数,并返回一个带特定上下文的新的函数。这里上下文指的是show函数所在对象名称,也就是Dropdown,所以改变了this的指向。可以再理解下哦。
如果我的回答帮助到了你,欢迎采纳,祝学习愉快~
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
登录后可查看更多问答,登录/注册
本阶段在运用JS实现动态网页开发的基础上,带你深入理解企业开发核心思想,完成一个企业级网页的开发,体验前端工程师的成就感。
37 3
22 4
78 1
80 1
56 1
在线咨询
领取优惠
免费试听
领取大纲
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星