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

return this.each(function() { //为什么是this而不是$(this) init(this,num); });

return this.each(function() {  //为什么是this而不是$(this)    init(this,num); });

正在回答

2 回答

因为封装对象方法的插件是写在 $.fn.extend({ /*代码省略*/}); 里面的,你调用的时候肯定是基于jQuery对象调用的,这里的调用是$("#rating2").rating(4);, 所以函数中的this引用的是 '$("#rating2")' 这个jQuery对象。

你可以自己试验下,在函数内部打印this 和 $(this),控制台日志上返回的都是一个数组,证明他们引用的都是jQuery对象。两种写法都可以正常运行。

3 回复 有任何疑惑可以回复我~

有道理!

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

return this.each(function() { //为什么是this而不是$(this) init(this,num); });

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信