jQuery源码里面fn的描述是这样的
jQuery.fn = jQuery.prototype = {通过这个可以看出来,这个里的fn和我们平时用的prototype是一样的,
init: function( selector, context ) {//....
//......
};
js里面没有类的概念,但是这里用类来理解会方便一点,jquery便是一个封装好的类,$("#id")返回一个jquery类生成的实例,(相当于new了一个对象)
jQuery.fn.test = function(){
.....
}
调用的时候 $("#id").test();
jQuery.extend(object);相当于添加了一个静态方法,是吧object添加到jquery的全局对象里面,
比如说
$.extend({
_test:function(){alert('_test');}
});
调用时候直接是 $._test();不需要生成一个实例
类似于
var _test = {}
_test = $.extend(_test,{_do:function(){console.log('ok')}})
_test._do()
这里_do只是添加到_test这个对象里,并不是到原型链