国产又色又爽又刺激在线观看,国产一级日视频在线观看,中文字幕无码日韩系列,亚瑟天堂久久一区二区影院,人妻无码久久精品人妻成人

jQuery: $.xxx()與$().xxx()中的$,為什么能同時(shí)支持兩種寫法?

2018-03-01 關(guān)鍵詞:蘇州網(wǎng)站建設(shè)  蘇州網(wǎng)站制作  蘇州做網(wǎng)站  蘇州網(wǎng)站推廣   3191

在jquery中,$('xxx').xxxx()這種寫法,其實(shí)是通過jQuery.fn.extend({xxx: function() {}})的方式進(jìn)行方法綁定和擴(kuò)展的,而$.xxx()這種方式的方法是通過jQuery.extend({xxx: function() {}})的方式進(jìn)行方法綁定和擴(kuò)展的; console.log(jQuery()) 其實(shí)是個(gè)對象,console.log(jQuery('#test')),如果有此元素存在,看起來像數(shù)組,其實(shí)也是對象,這種叫“類數(shù)組”;可以搜索看下類數(shù)組相關(guān)知識; 好,下面蘇州網(wǎng)站制作開始說下這個(gè)問題,第一是extend的實(shí)現(xiàn)方法;第二是jquery為什么能同時(shí)支持$.xxx()與$().xxx()這兩種寫法; 第一,extend的實(shí)現(xiàn)方法;由于源碼較多,我在這兒就不直接展示出來了,有興趣可以去找到看看;其實(shí)簡單講,extend主要用于對象的合并, 但是從源碼可以看出,當(dāng)參數(shù)只有一個(gè)對象的時(shí)候,就是直接將傳入對象合并到調(diào)用的對象上 (即jquery或jquery.fn); 所以,當(dāng)調(diào)用jQuery.extend時(shí),就會將傳入的對象里面的方法合并寫入到j(luò)Query對象上面,就可以對其進(jìn)行擴(kuò)展; 同理,使用jQuery.fn.extend時(shí),就可以對jQuery.fn進(jìn)行擴(kuò)展; 第二,$.xxx()與$().xxx()兩種的區(qū)別;第一種$.xxx()其實(shí)是調(diào)用的jQuery對象上面的方法,也就是通過jQuery.extend進(jìn)行擴(kuò)展的方法;有人會說,jQuery是一個(gè)函數(shù),但是函數(shù)在js也是對象,也可以向其添加屬性和方法;而第二種$().xxx()則是調(diào)用的jQuery.fn對象上面的方法,也就是通過jQuery.fn.extend進(jìn)行擴(kuò)展的方法; 第一種通過jQuery.extend進(jìn)行擴(kuò)展的屬性和方法是直接寫入jQuery對象,所以也就可以直接通過$.xxx()的方式調(diào)用,這個(gè)很容易理解; 第二種,通過jQuery.fn.extend進(jìn)行擴(kuò)展的方法和屬性為何能夠通過$().xxx()進(jìn)行調(diào)用呢;這個(gè)就要從jQuery的整個(gè)架構(gòu)來說;當(dāng)執(zhí)行$()時(shí),訪問了代碼:
Jquery=function(selector,conyext){
Return new jquery.fn.init(selector,context,rootjquery);
}
可以看出,其實(shí)是實(shí)例化了一個(gè)jQuery.fn.init的對象;在這我們就不再討論jQuery.fn.init里面具體干了什么,但可以通過源碼可以看出,其最終執(zhí)行了“return this”,也就是返回了jQuery.fn.init的實(shí)例對象;那如何通過$()可以訪問到j(luò)Query.fn上面的屬性和方法呢?就是通過這句代碼:
jquery.fn.init.prototype=jquery.fn;
它將jQuery.fn賦給了jQuery.fn.init.prototype,所以,jQuery.fn.init的實(shí)例對象也就可以直接訪問jQuery.fn上面的方法和屬性了;所以,當(dāng)你通過$().xxx()時(shí),其實(shí)訪問了jQuery.fn.xxx()方法; 其實(shí),這個(gè)問題去看jquery源碼就能很清楚的知道了,要明白jquery的方法擴(kuò)展方式,真正理解其主要架構(gòu)方式。蘇州網(wǎng)站建設(shè)提醒小伙伴要多看基礎(chǔ)理論,熟悉基礎(chǔ)用法。
首頁 網(wǎng)站建設(shè) 小程序 品牌設(shè)計(jì) 服務(wù)項(xiàng)目 案例展示 售后保障 聯(lián)系方式 新聞中心 關(guān)于我們 人才招聘
我們的優(yōu)勢

細(xì)致入微的前期服務(wù)
精準(zhǔn)的策劃服務(wù)
精湛的網(wǎng)頁設(shè)計(jì)
穩(wěn)定 可靠 極速的域名和服務(wù)器
任何問題,24小時(shí)回復(fù)并處理

版權(quán)所有:蘇州謝謝網(wǎng)絡(luò)傳媒有限公司  蘇ICP備11087090號   

首頁 電話 服務(wù)項(xiàng)目
苏尼特左旗| 龙南县| 平武县| 时尚| 盈江县| 田阳县| 贵德县| 湘潭县| 西乌| 乌鲁木齐县| 光泽县| 郎溪县| 黔西县| 兰西县| 林州市| 兴和县| 梧州市| 崇阳县| 沙雅县| 思茅市| 彩票| 会同县| 南华县| 安国市| 灌南县| 隆昌县| 顺义区| 巴塘县| 黔西县| 讷河市| 平安县| 潼关县| 荔波县| 万源市| 美姑县| 东山县| 合江县| 竹溪县| 汉寿县| 囊谦县| 姜堰市|