jQuery基礎(chǔ)框架淺入剖析
更新時(shí)間:2012年12月27日 17:23:32 作者:
jQuery基礎(chǔ)框架:原型模式結(jié)構(gòu)、返回選擇器實(shí)例、訪問原型方法、自執(zhí)行匿名函數(shù)詳細(xì)介紹,需要了解的朋友可以參考下
一、原型模式結(jié)構(gòu)
復(fù)制代碼 代碼如下:
// 定義一個(gè)jQuery構(gòu)造函數(shù)
var jQuery = function() {
};
// 擴(kuò)展jQuery原型
jQuery.prototype = {
};
上面是一個(gè)原型模式結(jié)構(gòu),一個(gè)jQuery構(gòu)造函數(shù)和jQuery實(shí)例化對象的的原型對象,我們一般是這樣使用的:
復(fù)制代碼 代碼如下:
var jq = new jQuery(); //變量jq通過new關(guān)鍵字實(shí)例化jQuery構(gòu)造函數(shù)后就可以使用原型對象中的方法,但是jQuery并不是這么使用的
二、返回選擇器實(shí)例
復(fù)制代碼 代碼如下:
var jQuery = function() {
// 返回選擇器實(shí)例
return new jQuery.prototype.init();
};
jQuery.prototype = {
// 選擇器構(gòu)造函數(shù)
init: function() {
}
};
雖然jQuery不是通過new關(guān)鍵字實(shí)例化對象,但是執(zhí)行jQuery函數(shù)仍然得到的是一個(gè)通過new關(guān)鍵字實(shí)例化init選擇器的對象,如:
var navCollections = jQuery('.nav'); //變量navCollections保存的是class名為nav的DOM對象集合.
三、訪問原型方法
復(fù)制代碼 代碼如下:
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í)例對象為jQuery對象,如我們可以這樣使用:
復(fù)制代碼 代碼如下:
jQuery.('.nav').toArray(); // 將結(jié)果集轉(zhuǎn)換為數(shù)組
為什么可以使用toArray方法呢? 即如何讓jQuery對象訪問jQuery.prototype對象中的方法?只需將實(shí)例化選擇器對象的原型對象共享jQuery.prototype對象,上面體現(xiàn)代碼為:
復(fù)制代碼 代碼如下:
jQuery.prototype.init.prototype = jQuery.prototype; // 共享原型
四、自執(zhí)行匿名函數(shù)
復(fù)制代碼 代碼如下:
(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)存,對外只保留jQuery全局變量接口。
來源: http://www.cnblogs.com/yangjunhua/archive/2012/12/27/2835989.html
您可能感興趣的文章:
- jQuery基礎(chǔ)知識小結(jié)
- jquery基礎(chǔ)教程之?dāng)?shù)組使用詳解
- jQuery實(shí)用基礎(chǔ)超詳細(xì)介紹
- jQuery插件開發(fā)基礎(chǔ)簡單介紹
- jQuery中的正則表達(dá)式分析 正則基礎(chǔ)
- jQuery學(xué)習(xí)基礎(chǔ)知識小結(jié)
- jquery()函數(shù)的三種語法介紹
- jquery連綴語法如何實(shí)現(xiàn)
- jQuery語法總結(jié)和注意事項(xiàng)小結(jié)
- jquery 注意事項(xiàng)與常用語法小結(jié)
- jQuery基礎(chǔ)語法實(shí)例入門
相關(guān)文章
JQuery中根據(jù)屬性或?qū)傩灾但@得元素(6種情況獲取方法)
根據(jù)屬性或?qū)傩灾但@得元素本文介紹六種不同的情況獲取方法,有需要的朋友可以參考下2013-01-01
深入學(xué)習(xí)jQuery Validate表單驗(yàn)證(二)
這篇文章主要針對jQuery Validate表單驗(yàn)證為大家進(jìn)行詳細(xì)介紹,通過name屬性來關(guān)聯(lián)字段來驗(yàn)證,改變默認(rèn)的提示信息,將校驗(yàn)規(guī)則寫到j(luò)s代碼中,感興趣的小伙伴們可以參考一下2016-01-01
jquery.fileEveryWhere.js 一個(gè)跨瀏覽器的file顯示插件
大牛ppk都說過,在從多表單控件中,上傳文件控件的樣式是最難以控制的。見文章Styling an input type="file"。本插件也多是參考此文2011-10-10
chosen實(shí)現(xiàn)省市區(qū)三級聯(lián)動(dòng)
這篇文章主要為大家詳細(xì) 介紹了chosen實(shí)現(xiàn)省市區(qū)三級聯(lián)動(dòng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-08-08
jQuery實(shí)現(xiàn)鼠標(biāo)跟隨效果
本文主要分享了jQuery實(shí)現(xiàn)鼠標(biāo)跟隨效果的示例代碼。具有很好的參考價(jià)值,下面跟著小編一起來看下吧2017-02-02
jQuery插件開發(fā)的五種形態(tài)小結(jié)
這篇文章主要介紹了jQuery插件開發(fā)的五種形態(tài)小結(jié),具體的內(nèi)容就是解決javascript插件的8種特征,非常的詳細(xì),這里推薦給小伙伴們。2015-03-03
jquery popupDialog 使用 加載jsp頁面的方法
下面小編就為大家?guī)硪黄猨query popupDialog 使用 加載jsp頁面的方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-10-10
jquery實(shí)現(xiàn)選項(xiàng)卡切換代碼實(shí)例
這篇文章主要介紹了jquery實(shí)現(xiàn)選項(xiàng)卡切換,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05

