成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

詳解 Jquery extend() 和Jquery.fn.extend()

hlcfan / 3318人閱讀

摘要:文檔上的解釋將一個(gè)或者多個(gè)對象擴(kuò)展一個(gè)新對象,返回一個(gè)新的對象是否深度克隆對象,將要擴(kuò)展到的新對象,待合并到新對象的第一個(gè)對象,待合并到新對象的第個(gè)對象例將合并到作為一個(gè)新對象,此時(shí)輸出的所輸出內(nèi)容將是兩個(gè)對象屬性集合,我們之所以這么做,可

Jquery extend()

API文檔上的解釋:將一個(gè)或者多個(gè)對象擴(kuò)展一個(gè)新對象,返回一個(gè)新的對象
$.extend([deep],target,obj1,objN)
deep:是否深度克隆對象,
target:將要擴(kuò)展到的新對象,
obj1:待合并到新對象的第一個(gè)對象,
objN:待合并到新對象的第N個(gè)對象.
例:$.extend(obj1,obj2)//將obj2合并到obj1作為一個(gè)新對象,
var obj1 = {
name:"sunwukong",
age:18
}
var obj2 = {

price:50,
weight:100

}
$.extend(obj1,obj2);
此時(shí)輸出的obj1 所輸出內(nèi)容將是兩個(gè)對象屬性集合,
我們之所以這么做,可以將obj1看做一個(gè)普通的人,而添加到obj2之后可以新添加功能,有了新的功能以后能跑能跳
注意:如果此時(shí)有相同屬性名,obj1中的相同屬性名的屬性值將被obj2所覆蓋

(function($){
           $.extend({
               speak:function(){
                   alert("how are you!");
               }
           });
    })(jQuery);

此時(shí)我們可以直接調(diào)用$.speak這個(gè)方法
擴(kuò)展到這個(gè)方法只跟$有關(guān),跟具體實(shí)例化對象是沒有關(guān)系的

Jquery.fn.extend()

把對象掛載到Jquery的prototype屬性,來擴(kuò)展新的jquery方法
Jquery.fn.extend = jquery.prototype ={
speak:function(){
consolor.log("aa")
}}
調(diào)用:
$("#btn").speak()//此時(shí)我們的fn可以代表的是我們當(dāng)前這個(gè)對象
這種可以用于我們公共的js方法的調(diào)用
alert($.fn.jquery );獲取當(dāng)前jquery的版本號

兩者的區(qū)別

1. 兩者的調(diào)用方式
$.extend(deep,target,obj1,obj2)
一般由傳入全局的函數(shù)來調(diào)用,主要用于擴(kuò)展個(gè)全局函數(shù),如:$.init(),$.ajax();
jQuery.fn.extend(),
一般由具體的實(shí)例對象來調(diào)用,可以用來拓展個(gè)選擇器,例如$.fn.each();
2. 兩者的主要功能不同
$.extend(deep,target,obj1,obj2)一般用于給jquery自身添加方法
jQuery.fn.extend(),
3. 開發(fā)中可能會遇到的bug
bug之$.extend(deep,target,obj1,obj2)
var obj1 = {
name:"sunwukong",
age:18,
banlance:{big:false,nianji:12,pal:"ad"}
}
var obj2 = { price:50, banlance:{big:true,pal:"ad"} }
var obj3 = {}
$.extend(obj3,obj1,obj2)
obj3{name:"sunwukong",age:18, price:50,banlance:{big:true,pal:"ad"}}
此時(shí)相同屬性第二個(gè)將第一個(gè)完全覆蓋
var obj3 = {}
$.extend(true,obj3,obj1,obj2)
obj3{name:"sunwukong",age:18, price:50,banlance:{big:true,nianji:12,pal:"ad"}}
此時(shí)調(diào)用深克隆可以將對應(yīng)的數(shù)據(jù)進(jìn)行obj2中沒有的obj1屬性也進(jìn)行添加

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/95733.html

相關(guān)文章

  • jQuery結(jié)構(gòu)簡析

    摘要:構(gòu)成類數(shù)組對象,引入,并使其自增版本信息模擬數(shù)組,即這里構(gòu)成一個(gè)類數(shù)組對象由于這里把作為構(gòu)造函數(shù)調(diào)用,得到一個(gè)對象,所以我們把作為的原型。 本文簡單實(shí)現(xiàn)jQuery框架,深入理解javascript對象。本文的對照版本是jQuery-1.2.6.js 本文注重jquery結(jié)構(gòu)設(shè)計(jì)思路,并不側(cè)重具體功能的實(shí)現(xiàn)以及兼容性和安全性的部分。 首先建立基本框架如下: (function(wind...

    xiaokai 評論0 收藏0
  • jQuery.extend()詳解

    摘要:方法作用是,用一個(gè)或多個(gè)其他對象來擴(kuò)展一個(gè)對象。通常使用格式如下上述代碼含義是將合并到中,并返回。如果該方法里面兩個(gè)參數(shù)都是數(shù)組呢控制臺輸出的為如果方法省略了參數(shù),則表示將合并到全局對象中去。 jQuery.extend()方法作用是,用一個(gè)或多個(gè)其他對象來擴(kuò)展一個(gè)對象。 通常使用格式如下:jQuery.extend(dest,src1,src2,src3...);上述代碼含義是:將s...

    Andrman 評論0 收藏0
  • jQuery.extend()詳解

    摘要:方法作用是,用一個(gè)或多個(gè)其他對象來擴(kuò)展一個(gè)對象。通常使用格式如下上述代碼含義是將合并到中,并返回。如果該方法里面兩個(gè)參數(shù)都是數(shù)組呢控制臺輸出的為如果方法省略了參數(shù),則表示將合并到全局對象中去。 jQuery.extend()方法作用是,用一個(gè)或多個(gè)其他對象來擴(kuò)展一個(gè)對象。 通常使用格式如下:jQuery.extend(dest,src1,src2,src3...);上述代碼含義是:將s...

    gaosboy 評論0 收藏0
  • jQuery.extend()詳解

    摘要:方法作用是,用一個(gè)或多個(gè)其他對象來擴(kuò)展一個(gè)對象。通常使用格式如下上述代碼含義是將合并到中,并返回。如果該方法里面兩個(gè)參數(shù)都是數(shù)組呢控制臺輸出的為如果方法省略了參數(shù),則表示將合并到全局對象中去。 jQuery.extend()方法作用是,用一個(gè)或多個(gè)其他對象來擴(kuò)展一個(gè)對象。 通常使用格式如下:jQuery.extend(dest,src1,src2,src3...);上述代碼含義是:將s...

    hellowoody 評論0 收藏0
  • jQuery 源碼系列(一)總體架構(gòu)

    摘要:到目前為止,的貢獻(xiàn)者團(tuán)隊(duì)共名成員,多條,可想而知,是一個(gè)多么龐大的項(xiàng)目。參考源碼分析整體架構(gòu)源碼解析讀書筆記第二章構(gòu)造對象函數(shù)詳解本文在上的源碼地址,歡迎來。 歡迎來我的專欄查看系列文章。 決定你走多遠(yuǎn)的是基礎(chǔ),jQuery 源碼分析,向長者膜拜! 我雖然接觸 jQuery 很久了,但也只是局限于表面使用的層次,碰到一些問題,找到 jQuery 的解決辦法,然后使用。顯然,這種做法的...

    svtter 評論0 收藏0

發(fā)表評論

0條評論

hlcfan

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<