看了一下jquery 的源码,想记录一下。因为之前自己也写过一个小类库,看了jquery 之后发现jquery 有些设计思路很值得学习。
执行jqeury 入口方法时,他返回时时一个 jqeury.fn.init()的实例。
而
jquery.fn=jquery.prototype={ 'init':function(){ return this; }} jquery.fn.init.prototype=jquery.prototype;
同时定义了扩展方法的函数
jQuery.extend = jQuery.fn.extend = function() { var options, target=arguments[0]||{}, i=1, length=arguments.length; if (length==i) {//如果参数只有一个 将 target=this;//指向上下文 i--; } for(;i
这样的好处在于,将实例对象、jqeury静态对象分开,而他们的原型是同一个。这样我既可以给实例对象 扩展方法,也可以对静态对象扩展方法。
今天先到这里,下一次记录一下一些方法 入each,eq,index等