国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

jQuery基礎(chǔ)框架淺入剖析

2024-05-06 14:20:13
字體:
供稿:網(wǎng)友

一、原型模式結(jié)構(gòu)
代碼如下:
// 定義一個jQuery構(gòu)造函數(shù)
var jQuery = function() {
};
// 擴(kuò)展jQuery原型
jQuery.prototype = {
};

上面是一個原型模式結(jié)構(gòu),一個jQuery構(gòu)造函數(shù)和jQuery實例化對象的的原型對象,我們一般是這樣使用的:
代碼如下:
var jq = new jQuery(); //變量jq通過new關(guān)鍵字實例化jQuery構(gòu)造函數(shù)后就可以使用原型對象中的方法,但是jQuery并不是這么使用的

二、返回選擇器實例
代碼如下:
var jQuery = function() {
// 返回選擇器實例
return new jQuery.prototype.init();
};
jQuery.prototype = {
// 選擇器構(gòu)造函數(shù)
init: function() {
}
};

雖然jQuery不是通過new關(guān)鍵字實例化對象,但是執(zhí)行jQuery函數(shù)仍然得到的是一個通過new關(guān)鍵字實例化init選擇器的對象,如:
var navCollections = jQuery('.nav'); //變量navCollections保存的是class名為nav的DOM對象集合.
三、訪問原型方法
代碼如下:
var jQuery = function() {
// 返回選擇器實例
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ù)中返回的選擇器實例對象為jQuery對象,如我們可以這樣使用:
代碼如下:
jQuery.('.nav').toArray(); // 將結(jié)果集轉(zhuǎn)換為數(shù)組

為什么可以使用toArray方法呢? 即如何讓jQuery對象訪問jQuery.prototype對象中的方法?只需將實例化選擇器對象的原型對象共享jQuery.prototype對象,上面體現(xiàn)代碼為:
代碼如下:
jQuery.prototype.init.prototype = jQuery.prototype; // 共享原型

四、自執(zhí)行匿名函數(shù)
代碼如下:
(function(window, undefined) {
var jQuery = function() {
// 返回選擇器實例
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

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 石泉县| 花垣县| 仁布县| 阳信县| 鄂托克前旗| 双城市| 顺昌县| 宜君县| 朝阳市| 玉门市| 黄石市| 邻水| 游戏| 屏山县| 丁青县| 厦门市| 泽州县| 尼玛县| 靖边县| 屏东县| 镇远县| 洱源县| 安庆市| 尚志市| 昌黎县| 巨野县| 安顺市| 榆社县| 吴桥县| 吉安市| 洛扎县| 广安市| 沙洋县| 米易县| 绥江县| 福鼎市| 遂川县| 苍溪县| 江川县| 祥云县| 昆明市|