正在回答
2回答
同学你好, 讲解$.proxy()之前,先看如下小例子:
1.为一个div绑定事件,事件中传入一个函数。当点击事件触发的时候,就会执行函数里面的内容。
因为this指向函数的调用者,所以事件函数中this指向的div元素。那么在执行greeting方法时,div没有uesename这个属性,所以输出undefined:
2. 那么在如上事件中调用greeting,想要让this指向obj,就可以使用$.proxy()方法。如下:
$.proxy() 作用如果理解不了,可以换一个理解方式,即调用obj中的greeting方法,并强制设置this的指向。此时this指向的是obj,所以能够输出obj下面的uesename :
$.proxy() 方法的语法2,和上面的例子( $("div").click($.proxy(obj, "greeting"));)使用等价:
第一个参数是调用greeting方法,第二个参数是设置this的指向 ,即让this指向obj 。
所以也可以输出名字:
这个方法在实际开发中用的不多,简单了解一下即可。
另外,本站禁止粘贴外网链接或者图片的。建议先跟着课程学习,如果课程中有任何疑惑,可以在问答区中提问哦。
如果我的回答帮助到了你,欢迎采纳,祝学习愉快~
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星