-
(1) 解析HTML結(jié)構(gòu)。 (2) 加載外部腳本和樣式表文件。 (3) 解析并執(zhí)行腳本代碼。 (4) 構(gòu)造HTML DOM模型。//ready (5) 加載圖片等外部文件。 (6) 頁面加載完畢。//load查看全部
-
核心方法 回調(diào)系統(tǒng) 異步隊列 數(shù)據(jù)緩存 隊列操作 選擇器引 屬性操作 節(jié)點遍歷 文檔處理 樣式操作 屬性操作 事件體系 AJAX交互 動畫引擎查看全部
-
插件接口的設(shè)計 $.extend(target,[object1],[objectN])查看全部
-
靜態(tài)方法與實例共享設(shè)計 遍歷方法: $(".aaron").eacha()//作為實例方法存在 $.each()//作為靜態(tài)方法存在查看全部
-
通過new操作構(gòu)建一個對象,一般進過四步: 1,創(chuàng)建一個新對象 2,將構(gòu)造函數(shù)的作用域賦給想你對象(所以this就指向了這個新對象) 3,執(zhí)行構(gòu)造函中的代碼 4,返回這個新對象查看全部
-
jQuery中的ready與load事件 ready先執(zhí)行 load后執(zhí)行 dom文檔加載的步驟: 1,解析html結(jié)構(gòu); 2,加載外部腳本和樣式文件 3,解析并執(zhí)行腳本代碼 4,構(gòu)造HTML DOM 模型.//ready 5,加載圖片等外部文件 6,頁面加載完畢.//load.查看全部
-
The Write Less,Do More(寫更少,做更多),無疑就是jQuery的核心理念,查看全部
-
jQuery2006年出現(xiàn)的查看全部
-
通過簡單擴展原型方法 return this 的形式來實現(xiàn)跨瀏覽器的鏈式調(diào)用。利用JS下的簡單工廠方法模式,來將所有對于同一個DOM對象的操作指定同一個實例。 比如: aQuery().init().name() => a = aQuery(); a.init() a.name() 而基本條件是: aQuery.prototype = { init: function() { return this; }, name: function() { return this } } 雖然Javascript是無阻塞語言,但是他并不是沒阻塞,而是不能阻塞,所以他需要通過事件來驅(qū)動,異步來完成一些本需要阻塞進程的操作,這樣處理只是同步鏈式,除了同步鏈式還有異步鏈式,異步鏈式j(luò)Query從1.5開始就引入了Promise,jQuery.Deferred后期再討論查看全部
-
ajQuery.fn = ajQuery.prototype = { name: 'aaron', init: function(selector) { this.selector = selector; return this; }, constructor: ajQuery } ajQuery.fn.init.prototype = ajQuery.fn 通過原型傳遞解決問題,把jQuery的原型傳遞給jQuery.prototype.init.prototype。換句話說jQuery的原型對象覆蓋了init構(gòu)造器的原型對象,因為是引用傳遞所以不需要擔(dān)心這個循環(huán)引用的性能問題。查看全部
-
自執(zhí)行函數(shù):使用()將匿名函數(shù)括起來,然后后面再加上一對小括號(參數(shù)列表),那么這小括號能把我們的表達式組合分塊,并且每一塊(就是每一對小括號),都有一個返回值。這個返回時實際上就是小括號中表達式的返回值。所以,當(dāng)我們用一對小括號把匿名函數(shù)括起來的時候,實際上就是小括號返回的,就是一個匿名函數(shù)的Function對象。因此,小括號對加上匿名函數(shù)就如同有名字的函數(shù)般被我們?nèi)〉盟囊梦恢昧?。所以如果在這個引用變量后面再加上參數(shù)列表,就如實現(xiàn)普通函數(shù)的調(diào)用形式。查看全部
-
選擇器、事件、ajax交互、動畫、DOM操作查看全部
-
Deferred中定義的動作是非常多的,抽象的看其實可以類似一種觀察者模式的實現(xiàn)。 觀察者模式中的訂閱方法: Done (操作完成) Fail (操作失敗) Progress (操作進行中 觀察中模式中的發(fā)布方法: resolve(解決) reject(拒絕) notify(通知)查看全部
-
寫法3: (function(window, undefined) { var jQuery = function() {} // ... window.jQuery = window.$ = jQuery; })(window); 1、window和undefined都是為了減少變量查找所經(jīng)過的scope作用域。當(dāng)window通過傳遞給閉包內(nèi)部之后,在閉包內(nèi)部使用它的時候,可以把它當(dāng)成一個局部變量,顯然比原先在window scope下查找的時候要快一些。 2、undefined也是同樣的道理,其實這個undefined并不是JavaScript數(shù)據(jù)類型的undefined,而是一個普普通通的變量名。只是因為沒給它傳遞值,它的值就是undefined,undefined并不是JavaScript的保留字。 寫法1: 把整個函數(shù)作為參數(shù)傳遞給另外一個函數(shù),主要是為了判斷jQuery在不同平臺的下的加載邏輯,主流的庫一般都有對 AMD 和 CommonJS 的支持代碼 當(dāng)我們用一對小括號把匿名函數(shù)括起來的時候,實際上返回的就是一個匿名函數(shù)的Function對象。 總結(jié):全局變量是魔鬼, 匿名函數(shù)可以有效的保證在頁面上寫入JavaScript,而不會造成全局變量的污染,通過小括號,讓其加載的時候立即初始化,這樣就形成了一個單例模式的效果從而只會執(zhí)行一次。查看全部
-
一:文檔中的圖片 二: 1.2.3 版發(fā)布,引入數(shù)據(jù)緩存,解決循環(huán)引用與大數(shù)據(jù)保存的問題 1.3 版發(fā)布,它使用了全新的選擇符引擎Sizzle,在各個瀏覽器下全面超越其他同類型JavaScript框架的查詢速度,程序庫的性能也因此有了極大提升 1.5 版發(fā)布,新增延緩對像(Deferred Objects),并用deferred重寫了Ajax模塊 1.7 版發(fā)布,抽象出回調(diào)對象,提供了強大的的方式來管理回調(diào)函數(shù)列表。查看全部
舉報
0/150
提交
取消