E_MO
2015-12-28 16:44
因为init方法是被new出来的,实际上是新建了一个对象,那为何在init方法里面还要return一个this呢?
如果是其他的方法,可以理解为方便链式编程,那在实例化的时候return this;又有什么作用呢?
如果使用 new $jQuery.fn.init(),那么init方法已经被当成构造函数使用,这时候可以删除renturn this写法,因为在类的实例化过程中,构造函数会默认返回this。 如果是普通调用init方法的时候,return this的写法是可以让$jQuery.fn对象返回并支持实例方法链式操作。这里手动加上return this的写法很有深意。
构造函数不需要显示的返回值。使用new来创建对象(调用构造函数)时,如果return的是非对象(数字、字符串、布尔类型等)会忽而略返回值;如果return的是对象,则返回该对象。个人感觉如若return this的话要不要都可以
init()没有参数时,实际上this返回的是jQuery的原型对象
函数默认的返回值是空,没有return this就不能把name返回给调用的对象,,是不是这意思
jQuery源码解析(架构与依赖模块)
84047 学习 · 280 问题
相似问题