深入了解jQuery之整體架構

2021-08-01 05:03:13 字數 1101 閱讀 1356

本文是在閱讀了aaron艾倫

先來看看如何生成乙個jquery物件,原始碼:

var  jquery = function( selector, context ) ;
當我們使用jquery('something')或者$('something')時,我們得到的是乙個 jquery.fn.init()物件。那麼jquery.fn是什麼鬼?

jquery.fn = jquery.prototype =
jquery.fn 實際上是jquery建構函式的原型物件的引用!! 所以我們以後看到 jquery.fn時,把他當成jquery建構函式的原型物件就可以了。

知道了jquery.fn , 接下來看看jquery.fn.init()函式

jquery.fn.init = function( selector, context ) ;

jquery.fn.init.prototype = jquery.prototype; // 注意這裡! 這句**讓init物件可以使用jquery的原型方法。

這樣,我們在建立jquery物件時就不用使用new關鍵字了。

整體看一下原始碼架構:

var $ = jquery = function(selector,context)

jquery.fn = jquery.prototype =

}jquery.fn.init.prototype = jquery.fn

直觀的感受一下相互之間的關係:

呼叫jquery函式,我們得到的是乙個jquery.fn.init例項,這個例項的原型物件被重新指向到了jquery函式的原型物件,所以這個例項可以使用jquery原型物件的屬性和方法,而如果我們給jquery函式附加方法,那麼這個方法就變成了靜態方法。

然後來看一下jquery.fn.init函式的原始碼:

配張思路圖:

Ajax之深入了解

上一節,我們說了一些ajax的基礎知識,包括常用的get方法,現在,我們接著來講講post方法,以及利用get方法或post方法實現分頁顯示的功能。以下我們來說說get和post兩種方法的區別。詳見 get方法 建立ajax物件 建立鏈結 xhr.open get getcity?city city...

深入了解A

一 前言 在這裡我將對a 演算法的實際應用進行一定的 並且舉乙個有關a 演算法在最短路徑搜尋的例子。值得注意的是這裡並不對a 的基本的概念作介紹,如果你還對a 演算法不清楚的話,請看姊妹篇 初識a 演算法 這裡所舉的例子是參考amit主頁中的乙個源程式,使用這個源程式時,應該遵守一定的公約。二 a ...

深入了解A

一 前言 在這裡我將對a 演算法的實際應用進行一定的 並且舉乙個有關a 演算法在最短路徑搜尋的例子。值得注意的是這裡並不對a 的基本的概念作介紹,如果你還對a 演算法不清楚的話,請看姊妹篇 初識a 演算法 這裡所舉的例子是參考amit主頁中的乙個源程式,使用這個源程式時,應該遵守一定的公約。二 a ...