Jquery中:
1. $是Jquery的簡寫形式,所以,Jquey()和$()的意思是一樣的;所有用$()的地方,$都可以用Jquery代替;
2. 因爲不能假定$在任何環境中都是有效的,所以,插件中一般用Jquery定義,而不用$定義;、
3. 用Jquery.extend增加的函數,或者說擴展的函數,可以理解成添加類方法——用類名調用
4. 用Jquery.fn.extend增加的函數,或者說擴展的函數,可以理解成添加對象方法,即添加成員函數,用對象名調用
5. Jquery.fn=Jquery.prototype,所以,Jquery.fn是Jquery.prototype的別名;
6. 那麼Jquery.prototype是什麼呢? 這個牽涉到Javascript的對象生成過程,以及結構:
建立Javascript普通對象-》Javascript普通對象的constructor屬性指向constructor對象,constructor對象的prototype屬性指向
prototype對象,Javascript普通對象的隱藏屬性_proto_指向prototype對象,具體結果圖可以參考
http://yangsp1.javaeye.com/blog/499264
7. 以下代碼:
var $jc = $.jcarousel;//$有一個jcarousel屬性,該屬性也是一個對象(摘自Jcarousel插件),並起別名爲$jc
$jc.fn.extend = $jc.extend = $.extend;// $jc 的對象方法=$jc 的類方法=Jquery的類方法;
// 即擴展方法可以使用上面3個方式調用,但意義不同。
8. 代碼形式:
(function($){.....})(Jquery)
//用上面的函數形式作爲包裹器,把代碼包含在內部,含義是:
function($){....}函數定義,有一個形式參數$;
(function($){....})(Jquery)用Jquery作爲實參調用上述函數
用途:在該函數內部用$不會引起衝突,所以起到包裹器的作用。