$、fn
$
$ 是JQuery的别称,可以代替JQuery,定义为 "选取"
1 $.function(); //选取 JQuery 定义的 function() 执行 2 $('input')//选取 HTML 当中全部的 input 标签 3 $('#abc')//选取 HTML 当中 ID 名称为 abc 的物件
fn
先看两个例子:
1 e.g.1 2 <div id="myDiv"></div> 3 4 (function($){ 5 $.fn.extend({ 6 test:function(){ 7 alert($(this).attr('id')); 8 } 9 }) 10 })(jQuery) 11 12 $('#myDiv').test();//打印出 : myDiv 13 14 e.g.2 15 (function($){ 16 $.extend({ 17 test:function(){ 18 alert('111'); 19 } 20 }) 21 })(jQuery) 22 23 $.test();//打印出:111
两个例子区别在于$.后有无fn,jQuery为开发插件提拱了两个方法,分别是:
1 jQuery.extend(object);//为扩展jQuery类本身.为类添加新的方法。 2 jQuery.fn.extend(object);//给jQuery对象添加方法。
我们来看看fn的定义
1 jQuery.fn = jQuery.prototype ={ 2 init: function( selector, context ){//.... 3 //...... 4 };
jQuery.fn.extend(object);是对jQuery.prototype进得扩展,就是为jQuery类添加“成员函数”。jQuery类的实例可以使用这个“成员函数”。
jQuery.extend(object);可以理解为添加静态方法,之后便可以在引入 jQuery 的地方,使用这个方法了, 比如$.add(3,4);