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

jQuery中的init方法里面的return this;是否可以删除呢?

因为init方法是被new出来的,实际上是新建了一个对象,那为何在init方法里面还要return一个this呢?

如果是其他的方法,可以理解为方便链式编程,那在实例化的时候return this;又有什么作用呢?

正在回答

4 回答

如果使用 new $jQuery.fn.init(),那么init方法已经被当成构造函数使用,这时候可以删除renturn  this写法,因为在类的实例化过程中,构造函数会默认返回this。  如果是普通调用init方法的时候,return this的写法是可以让$jQuery.fn对象返回并支持实例方法链式操作。这里手动加上return this的写法很有深意。

1 回复 有任何疑惑可以回复我~
#1

E_MO 提问者

现在明白了,这个只是一个保守的写法而已
2016-12-02 回复 有任何疑惑可以回复我~

构造函数不需要显示的返回值。使用new来创建对象(调用构造函数)时,如果return的是非对象(数字、字符串、布尔类型等)会忽而略返回值;如果return的是对象,则返回该对象。个人感觉如若return this的话要不要都可以

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

init()没有参数时,实际上this返回的是jQuery的原型对象

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

函数默认的返回值是空,没有return this就不能把name返回给调用的对象,,是不是这意思

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

举报

0/150
提交
取消

jQuery中的init方法里面的return this;是否可以删除呢?

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