$、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); 

原文地址:https://www.cnblogs.com/wisdomns/p/9178277.html