jQuery里面$.fn和$.extend

来源:互联网 发布:普通人 知乎 编辑:程序博客网 时间:2024/05/16 05:08

jQuery源码里面fn的描述是这样的

jQuery.fn = jQuery.prototype = {    init: function( selector, context ) {//....     //...... }; 
通过这个可以看出来,这个里的fn和我们平时用的prototype是一样的,

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这个对象里,并不是到原型链




2 0