为了账号安全,请及时绑定邮箱和手机立即绑定

jQuery和原生JS中 this 的区别

jQuery和原生JS中 this 的区别

波斯汪 2018-12-11 17:19:16
如题 ,我给test和test2分别用原生JS和jQuery实现了相同的功能,代码结构也几乎相同;可是在click事件处理函数中的回调函数中输出this,一个指向window,一个指向li。有点不明白,,不应该都是指向window吗,jQuery是否做了特殊的处理??谢谢
查看完整描述

1 回答

?
holdtom

TA贡献1805条经验 获得超10个赞

题主题中的问题其实不是click事件回调中的this指向,而是Array.prototype.mapjQuery.each里面回调的this指向分别是什么。

先看mapArray.prototype.map,有两个参数,第二个thisArg,意为callback执行时this的指向,题中未指定这个参数,所以callbackthis指向window(非严格模式下)。

再看each,定位到jQuery.each代码位置,可以清楚的看到callback.apply( obj[ i ], args ),所以callback在执行的时候this指向当前遍历到的原生DOM对象。


查看完整回答
反对 回复 2019-01-02
  • 1 回答
  • 0 关注
  • 874 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信