jQuery基礎(chǔ)框架淺入剖析
一、原型模式結(jié)構(gòu)
// 定義一個(gè)jQuery構(gòu)造函數(shù)
var jQuery = function() {
};
// 擴(kuò)展jQuery原型
jQuery.prototype = {
};
上面是一個(gè)原型模式結(jié)構(gòu),一個(gè)jQuery構(gòu)造函數(shù)和jQuery實(shí)例化對(duì)象的的原型對(duì)象,我們一般是這樣使用的:
var jq = new jQuery(); //變量jq通過new關(guān)鍵字實(shí)例化jQuery構(gòu)造函數(shù)后就可以使用原型對(duì)象中的方法,但是jQuery并不是這么使用的
二、返回選擇器實(shí)例
var jQuery = function() {
// 返回選擇器實(shí)例
return new jQuery.prototype.init();
};
jQuery.prototype = {
// 選擇器構(gòu)造函數(shù)
init: function() {
}
};
雖然jQuery不是通過new關(guān)鍵字實(shí)例化對(duì)象,但是執(zhí)行jQuery函數(shù)仍然得到的是一個(gè)通過new關(guān)鍵字實(shí)例化init選擇器的對(duì)象,如:
var navCollections = jQuery('.nav'); //變量navCollections保存的是class名為nav的DOM對(duì)象集合.
三、訪問原型方法
var jQuery = function() {
// 返回選擇器實(shí)例
return new jQuery.prototype.init();
};
jQuery.prototype = {
// 選擇器構(gòu)造函數(shù)
init: function() {
},
// 原型方法
toArray: function() {
},
get: function() {
}
};
// 共享原型
jQuery.prototype.init.prototype = jQuery.prototype;
我們一般習(xí)慣稱jQuery函數(shù)中返回的選擇器實(shí)例對(duì)象為jQuery對(duì)象,如我們可以這樣使用:
jQuery.('.nav').toArray(); // 將結(jié)果集轉(zhuǎn)換為數(shù)組
為什么可以使用toArray方法呢? 即如何讓jQuery對(duì)象訪問jQuery.prototype對(duì)象中的方法?只需將實(shí)例化選擇器對(duì)象的原型對(duì)象共享jQuery.prototype對(duì)象,上面體現(xiàn)代碼為:
jQuery.prototype.init.prototype = jQuery.prototype; // 共享原型
四、自執(zhí)行匿名函數(shù)
(function(window, undefined) {
var jQuery = function() {
// 返回選擇器實(shí)例
return new jQuery.prototype.init();
};
jQuery.prototype = {
// 選擇器構(gòu)造函數(shù)
init: function() {
},
//原型方法
toArray: function() {
},
get: function() {
}
};
jQuery.prototype.init.prototype = jQuery.prototype;
// 局部變量和函數(shù)在匿名函數(shù)執(zhí)行完后撤銷
var a, b, c;
function fn() {
}
// 使jQuery成為全局變量
window.jQuery = window.$ = jQuery;
})(window);
自執(zhí)行匿名函數(shù)中聲明的局部變量和函數(shù)在匿名函數(shù)執(zhí)行完畢后撤銷,釋放內(nèi)存,對(duì)外只保留jQuery全局變量接口。
來源: http://www.cnblogs.com/yangjunhua/archive/2012/12/27/2835989.html
- jQuery基礎(chǔ)知識(shí)小結(jié)
- jquery基礎(chǔ)教程之?dāng)?shù)組使用詳解
- jQuery實(shí)用基礎(chǔ)超詳細(xì)介紹
- jQuery插件開發(fā)基礎(chǔ)簡(jiǎn)單介紹
- jQuery中的正則表達(dá)式分析 正則基礎(chǔ)
- jQuery學(xué)習(xí)基礎(chǔ)知識(shí)小結(jié)
- jquery()函數(shù)的三種語法介紹
- jquery連綴語法如何實(shí)現(xiàn)
- jQuery語法總結(jié)和注意事項(xiàng)小結(jié)
- jquery 注意事項(xiàng)與常用語法小結(jié)
- jQuery基礎(chǔ)語法實(shí)例入門
相關(guān)文章
JQuery Dialog對(duì)話框 不能通過Esc關(guān)閉的原因分析及解決辦法
這篇文章主要介紹了JQuery Dialog對(duì)話框 不能通過Esc關(guān)閉的原因分析及解決辦法,需要的朋友可以參考下2017-01-01關(guān)于用Jquery的height()、width()計(jì)算動(dòng)態(tài)插入的IMG標(biāo)簽的寬高的問題
關(guān)于用Jquery的height()、width()計(jì)算動(dòng)態(tài)插入的IMG標(biāo)簽的寬高的問題的解決方法,需要的朋友可以參考下。2010-12-12Jquery 實(shí)現(xiàn)checkbox全選方法
本文主要向大家展示了一段使用jQuery實(shí)現(xiàn)checkbox全選的方法,以及編寫此方法的背景和過程,非常詳細(xì),這里推薦給小伙伴們。2015-01-01JavaScript前端頁面搜索功能案例【基于jQuery】
這篇文章主要介紹了JavaScript前端頁面搜索功能案例,結(jié)合完整實(shí)例形式詳細(xì)分析了基于jQuery實(shí)現(xiàn)的前端頁面表格搜索功能相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-07-07JQuery實(shí)現(xiàn)倒計(jì)時(shí)按鈕具體方法
頁面中需要實(shí)現(xiàn)某個(gè)按鈕點(diǎn)擊完后,禁用它,并顯示倒計(jì)時(shí)。這個(gè)默認(rèn)是3秒,代碼如下2013-11-11jQuery+css實(shí)現(xiàn)炫目的動(dòng)態(tài)塊漂移效果
這篇文章主要介紹了jQuery+css實(shí)現(xiàn)的動(dòng)態(tài)塊漂移效果,涉及jQuery基于隨機(jī)數(shù)與時(shí)間函數(shù)動(dòng)態(tài)操作頁面元素樣式的相關(guān)技巧,需要的朋友可以參考下2016-01-01jQuery Validate表單驗(yàn)證深入學(xué)習(xí)
這篇文章主要介紹了jQuery Validate表單驗(yàn)證入門知識(shí),該插件捆綁了一套有用的驗(yàn)證方法,包括 URL 和電子郵件驗(yàn)證,同時(shí)提供了一個(gè)用來編寫用戶自定義方法的 API,感興趣的小伙伴們可以參考一下2015-12-12