最近在看jQuery源码,jQuery 1.3.0中core.js 524行中$.fn.init.prototype = $.fn,并且很多api(比如说css,index等)是定义在$.fn上,$()是一个工厂返回的是$.fn.init的实例,因为$.fn.init的原型指向$.fn,因此$.fn.init可以继承$.fn上的所有方法,可是不觉着这种对象本身的一个属性的原型指向本身很怪吗?为什么不把$.fn.init定义成另一个对象(比如说$.init),然后原型指向$.fn($.init.prototype = $.fn)?
Why jQuery do this: jQuery.fn.init.prototype = jQuery.fn?