jquery的扩展之extend函数

1.$.extend()使用

作用:扩展全局的函数

$.extend({

sayHellow:function(pram){

  alert(pram+"hellow");

  }

})

使用:

$(function({

  $.sayHellow();

}))


jQuery.hellow = function() {   
alert('hellow ');  
};  
jQuery.byebye = function(param) {   
alert(param + 'byebye ');  
};   
使用:jQuery.hellow ();jQuery.byebye ('haha');
$.hellow ();$.byebye ('haha');
使用$.extend()扩展多个函数:
jQuery.extend({      
hellow: function() {alert('hellow ');  },
byebye: function(param) {alert(param + 'byebye ');} 
});
使用命名空间:
第一种方法:
jQuery.myPlugin={  
    
    hellow: function() {alert('hellow ');  },

    byebye: function(param) {alert(param + 'byebye ');} 
    
    };
使用:
$.myPlugin.hellow();         
$.myPlugin.byebye('haha');

第二种方法:

$.extend({myPlugin:{}});

$.extend({$.myPlugin,{
      hellow: function() {alert('hellow ');  },

    byebye: function(param) {alert(param + 'byebye ');}
    
}})

 

 


 

2.$.fn.extend()使用

作用:扩展的是jquery的实例对象的函数(jquery.fn=jquery.prototype)

$.fn.extend({

  sayHellow:function(pram){

    alert(pram+"hellow");

    }

})

等于:

$.fn.sayHellow = function(pram) {     
     alert(pram+'hellow');  
};

使用:$(" ").sayHellow(pram);

附加:定义了一个jQuery函数,形参是$,函数定义完成之后,把jQuery这个实参传递进去.立即调用执行。这样的好处是,我们在写jQuery插件时,也可以使用$这个别名,而不会与prototype引起冲突.

(function($) {   
    
$.fn.pluginName = function() {     
   
};     
})(jQuery);   

3.接受参数options控制的插件

$.fn.pulginName = function(options) {
     var defaults = {
         property1: '',
         property2: '' }; 

 var opts = $.extend(defaults, options);
 
    };
调用:
 $('#div').hilight({
     property2: '' 
    });

  

这是一个很不错的博客:http://www.iteye.com/topic/545971