回溯處理的設計

2021-08-14 02:53:11 字數 649 閱讀 7553

1.關於jquery物件的包裝

var aa

ron=

(「aaron」);

①jquery選擇器最終是通過dom介面實現取值的

②但是通過jquery處理後返回的不僅僅只是dom物件,而是乙個包裝容器,返回jquery物件:$aaron

2.jquery物件棧

①jquery內部維護著乙個jquery物件棧。

②每個遍歷方法都會找到一組新元素(乙個jquery物件),然後jquery會把這組元素推入到棧中。

3.jquery物件

①每個jquery物件都有3個屬性:context、selector和preobject

②prevobject屬性就指向這個物件棧中的前乙個物件,而通過這個屬性可以回溯到最初的dom元素集中。

4.回溯方法

①.end() end方法就是回溯到上乙個dom合集。簡單的彈出乙個物件,結果就是回到前乙個jquery物件(出棧操作),其實就是返回prevobject物件

②.addback() 呼叫它會在棧中回溯乙個位置,然後把兩個位置上的元素集組合起來,並把這個新的、組合之後的元素集推入棧的上方

5.利用這個dom元素棧可以減少重複的查詢和遍歷的操作,而減少重複操作也正是優化jquery**效能的關鍵所在。

jQuery回溯處理的設計

關於 jquery 物件的包裝 var aaron aaron 通過對sizzle的分析,我們可以得知query選擇器最終都是通過dom介面實現取值的,但是通過jquery處理後返回的不僅僅只有dom物件,而是乙個包裝容器,返回jquery物件 aaron。我們來看一下 在jquery物件中有個pr...

jquery原始碼解析 回溯處理的設計

在這一小節我將會帶領你們了解jquery對dom進行遍歷背後的工作機制,這樣可以在編寫 時有意識地避免一些不必要的重複操作,從而提公升 的效能。關於jquery物件的包裝 var aaron aaron 通過對sizzle的分析,我們可以得知query選擇器最終都是通過dom介面實現取值的,但是通過...

演算法設計例題 批處理作業排程(回溯)

給定n個作業的集合j 每乙個作業ji都有兩項任務分別在兩台機器上完成。每個作業必須先由機器1處理,然後由機器2處理。作業ji需要機器j的處理時間為tji,其實i 1,2,n,j 1,2。對於乙個確定的作業排程,設fji是 作業i在 機器j上完成處理的時間。所有作業在機器2上完成處理的時間之和n個作業...