-
鏈式的原理就是要返回當前操作的上下文查看全部
-
在Callbacks 局部作用域中定義的self,被返回到了全局作用域,這是閉包最普遍的利用狀態。查看全部
-
異步的事件驅動型回調函數 event loop 任務隊列——工作線程:network DOM事件 setTimeout 讀寫文件 執行隊列 JavaScript是嚴格的單線程查看全部
-
each迭代器屬于實用方法,JS功能的實現,類似Underscore.js中的_.each實現。查看全部
-
讓我聯想到ES5數組的遍歷方法查看全部
-
jQuery有很多的遍歷方法,比如find() children() parent() 這里方法在于尋找目標DOM對象,英文表述叫traversing,jQuery文檔中專門有這個類別。 遍歷方法方面的設計特點是:對象內部維護一個專門存儲元素集合對象的堆棧,這是一種數據結構,目的在于存儲找到的元素集合對象。有了這個棧,我們就能輕而易舉地獲知前一次遍歷獲得的元素集合對象,就是使用prevObject。查看全部
-
看到這里有眼前一亮的感覺。jQuery原來還能這么用。感覺學習源碼,能夠讓我更好的學習jQuery。jQuery實例對象有個prevObject屬性,我之前還疑惑這個屬性是干什么用的,現在算是明白了。比如說彼時通過$(‘h1’)實例化一個jQuery對象,這是個類數組,存放著全部的h1元素;然后通過$(‘h1’).eq(0).find(‘a’)找到了文檔中第一個h1對象中的a元素,注意此刻返回值還是jQuery實例。然后$(‘h1’).eq(0).find(‘a’).end(),這步操作結束后,就等于$(‘h1’).eq(0),也即文檔中第一個h1對象。在遍歷和查詢節點中能夠節約很多的重復操作哦。查看全部
-
今天看到了插件接口的設計。首先插件可以是jQuery的靜態方法,又能是jQuery實例的方法(擴展到實例原型對象上)。但是這兩種方法的實現其實是同一個方法。 這節內容讓我想到對象的可擴展性,對于庫的設計者而言,全局對象的屬性肯定不能隨便擴展,只能提供一個接口,讓其他開發者有序擴展。 另外,插件設計的好處。jQuery庫僅保留核心功能,其余功能的實現都是通過插件。這樣的好處是:降低框架的復雜度,同時又能豐富jQuery庫的功能。查看全部
-
方法鏈式調用,JavaScript權威指南中也有相關說明,method chaining,舉就是jQuery的例子。從方法中返回對象,然后可以繼續調用方法,形成一條方法鏈。這樣的一個好處就是,少些很多代碼,更貼切開發者思維。 但是并不是所有的方法都返回對象,有些方法有自己的返回值,比如html()、hasClass()、get()等方法。之前我還糾結為什么調用不同的方法,返回值大多都是jQuery對象,現在都明白了,是為了方便形成方法鏈啊。我得有意識地記住大多數方法里都有return this;這句指令。查看全部
-
實例共享的方法存儲在jQuery.fn對象上,此外還有一些靜態方法,是存放在jQuery函數對象上的,比如jQuery.ajax方法。靜態方法其實就是jQuery函數對象的屬性方法。函數也是對象嘛,也能有自己的屬性和方法。同樣為了節省內存,實例的某些方法是取于靜態方法。也就是說,別看一個叫實例方法,一個叫靜態方法,但是它們實際上是同一個方法,因為占用同一塊內存,只不過傳遞的參數有些不同罷了。查看全部
-
為了在使用jQuery構造函數實例化對象時,讓編程人員少寫個new,那么就需要在構造函數里面多寫個new。但是構造函數里面多寫個new,容易出現循環遞歸的問題(雖然我沒繞明白),然后就在jQuery.fn對象上加個構造器init。查看全部
-
實例共享的方法存儲在jQuery.fn對象上,此外還有一些靜態方法,是存放在jQuery函數對象上的,比如jQuery.ajax方法查看全部
-
jQuery本質上是構造函數,但是和一般的構造函數不同的是:不需要使用new 操作符顯式地實例化對象(可能就是為了少寫個new才這樣設計的吧);jQuery.fn是存儲所有jQuery實例共享方法和共享屬性的地兒。比如css方法、toggleClass方法,都在jQuery.fn對象上存著呢查看全部
-
$(handler);是$(document).ready(handler);的縮寫形式,也是官方推薦的形式查看全部
-
比如 $('h2'); // 獲取頁面中所有的"<h2>...</h2>"元素 返回的是一個類數組對象。其本質是對象類型,但是又可以使用$('h2')[0];這樣的獲取數組元素的方式來操作這個對象。查看全部
舉報
0/150
提交
取消