jquery原始碼解讀(一)筆記

2021-10-02 03:37:56 字數 1803 閱讀 4607

筆記

​ jquery是乙個庫,封裝了很多方法。為的就是更加方便使用。

​ 首先:分析, 第一條。 他們有兩類方法,

一種是 $ . 直接呼叫方法 ( 例如:$.each() )

另一種是 (『s

elec

tor』

)呼叫方

法(例如

:(『 selector』)呼叫方法 (例如:

(『sele

ctor

』)呼叫

方法(例

如:(『div』).html() )

首先實現, $(『selector』)方法:

1<

/div>

2<

/div>

3<

/div>

"js/jquery-1.7.2.js"

>

<

/script>

// 獲得jquery物件

console.

log($(

'div'))

;<

/script>

是乙個返回的是乙個init的類陣列。那麼首先我們需要這樣返回乙個物件。

var

jquery

=function

(selector)

varinit

=function

(selector)

console.

log(

jquery

('div'))

;

但是,此時暴露了另乙個問題, init這個建構函式,是暴露在全域性的。汙染全域性變數。(我們這是乙個類庫。如果專案很大,引入我們的類庫,發現全域性變數衝突了,我認為這就是汙染全域性變數了。)

這是,我們需要把變數放到物件上, 此時就可以 使用 jquery.fn

var

jquery

=function

(selector)

;jquery.fn =

this

.length = doms.length;

this

.selector = selector;},

}

我們知道,返回的是類陣列。

1、有length屬性

2、有索引

3、有乙個增強數陣列的方法(例如array的splice)

​ (1、有length屬性

​ 2、 有索引

​ 3、需要有乙個增強陣列的方法(例如 array中的splice) )

jquery.fn =

this

.length = doms.length;

this

.selector = selector;},

}

現在執行 最終的一步,改變指向(這步非常精髓。我感覺jquery的精髓就在這些指向上了)
// 將物件變成類陣列

jquery.fn.init.prototype = jquery.fn;

這樣我們就實現了

常精髓。我感覺jquery的精髓就在這些指向上了)

// 將物件變成類陣列

jquery.fn.init.prototype = jquery.fn;

這樣我們就實現了

jQuery理解原始碼(三)筆記

jquery實現另一類方法 筆記 那麼就是說 jquery div 就是 jquery.prototype的例項 連線 那我們繼續實習,例項的方法 這裡有乙個注意點 通常我們的思路是 要實現 jquery.each 為jquery原型鏈上新增的方法。以供例項使用。注意 是給例項使用。也就是可以說例項...

專案一筆記

1.hibernate持久層的通用實現 public class basedaoimplextends hibernatedaosupport implements ibasedao 在父類 basedaoimpl 的構造方法中動態獲得entityclass public basedaoimpl 2...

jQuery原始碼解讀一

前言 我為什麼要看這個原始碼,很簡單,尋找我自己寫的js框架與jquery之間的差異,取長補短,最終目標是提高js程式設計的乙個眼界,看看別人是怎麼想的,因為自己乙個人的想法往往是片面的,也為了能讓自己的主觀漸漸接近客觀事實。雖然jquery框架能直接拿來用,但是對於偏愛研究的人來說,還是喜歡寫原生...