jQuery.extend 函數(shù)的詳細(xì)用法
Jquery的擴(kuò)展方法原型是:
extend(dest,src1,src2,src3...);
它的含義是將src1,src2,src3...合并到dest中,返回值為合并后的dest,由此可以看出該方法合并后,是修改了dest的結(jié)構(gòu)的。如果想要得到合并的結(jié)果卻又不想修改dest的結(jié)構(gòu),可以如下使用:
var newSrc=$.extend({},src1,src2,src3...)//也就是將"{}"作為dest參數(shù)。
這樣就可以將src1,src2,src3...進(jìn)行合并,然后將合并結(jié)果返回給newSrc了。如下例:
var result=$.extend({},{name:"Tom",age:21},{name:"Jerry",sex:"Boy"})
那么合并后的結(jié)果
result={name:"Jerry",age:21,sex:"Boy"}
也就是說后面的參數(shù)如果和前面的參數(shù)存在相同的名稱,那么后面的會(huì)覆蓋前面的參數(shù)值。
也許你對(duì)該函數(shù)已經(jīng)有一定的了解。我們?cè)倏匆粋€(gè)jquery官方的例子(http://api.jquery.com/jQuery.extend/)
代碼如下:
<!DOCTYPE html>
<html>
<head>
<scriptsrc="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
<divid="log"></div>
<script>
var defaults ={validate:false,limit:5,name:"foo"};
var options ={validate:true,name:"bar"};
/* merge defaults and options, without modifying defaults */
var settings =$.extend({},defaults,options); // 在插件開發(fā)中經(jīng)常會(huì)用到
varprintObj =typeofJSON !="undefined"?JSON.stringify :function(obj){
vararr =[];
$.each(obj,function(key,val){
varnext =key +": ";
next +=$.isPlainObject(val)?printObj(val):val;
arr.push(next );
});
return"{ "+ arr.join(", ")+" }";
};
$("#log").append("<div><b>defaults -- </b>"+printObj(defaults)+"</div>");
$("#log").append("<div><b>options -- </b>"+printObj(options)+"</div>");
$("#log").append("<div><b>settings -- </b>"+printObj(settings)+"</div>");
</script>
</body>
</html>
輸出結(jié)果為:
defaults -- {"validate":false,"limit":5,"name":"foo"} //這里是原樣輸出defaults
options -- {"validate":true,"name":"bar"} //這里是原樣輸出options
settings -- {"validate":true,"limit":5,"name":"bar"} //合并defaults和options , 后面的參數(shù)如果和前面的參數(shù)存在相同的名稱,那么后面的會(huì)覆蓋前面的參數(shù)值。
- jQuery $.extend()用法總結(jié)
- jQuery插件開發(fā)的兩種方法及$.fn.extend的詳解
- jQuery.extend 函數(shù)詳解
- jQuery.extend()的實(shí)現(xiàn)方式詳解及實(shí)例
- jQuery.extend()、jQuery.fn.extend()擴(kuò)展方法示例詳解
- 模仿JQuery.extend函數(shù)擴(kuò)展自己對(duì)象的js代碼
- jquery的extend和fn.extend的使用說明
- jQuery中extend()和fn.extend()方法詳解
- Jquery中擴(kuò)展方法extend使用技巧
- jQuery中extend函數(shù)的實(shí)現(xiàn)原理詳解
- 詳解jQuery插件開發(fā)中的extend方法
- jQuery源碼解讀之extend()與工具方法、實(shí)例方法詳解
相關(guān)文章
JQuery常用簡(jiǎn)單動(dòng)畫操作方法回顧與總結(jié)
這篇文章主要介紹了JQuery常用簡(jiǎn)單動(dòng)畫操作方法,回顧與總結(jié)了jQuery常用的各種動(dòng)畫效果操作方法及相關(guān)使用技巧,需要的朋友可以參考下2019-12-12jQuery Validation Plugin驗(yàn)證插件手動(dòng)驗(yàn)證
jquery.validate是jquery旗下的一個(gè)驗(yàn)證框架,借助jquery的優(yōu)勢(shì),我們可以迅速驗(yàn)證一些常見的輸入,并且可以自己擴(kuò)充自己的驗(yàn)證方法,并且對(duì)國(guó)際化也有很好的支持,接下來通過本文給大家介紹jQuery Validation Plugin驗(yàn)證插件手動(dòng)驗(yàn)證2016-01-01jQuery圖片旋轉(zhuǎn)插件jQueryRotate.js用法實(shí)例(附demo下載)
這篇文章主要介紹了jQuery圖片旋轉(zhuǎn)插件jQueryRotate.js用法,結(jié)合實(shí)例形式分析了圖片旋轉(zhuǎn)插件jQueryRotate.js用法,并附帶了demo示例代碼供讀者下載,需要的朋友可以參考下2016-01-01jquery 獲取標(biāo)簽名(tagName)示例代碼
如果是需要取到tagName后再進(jìn)行判斷,那么下面的代碼或許對(duì)大家有所幫助,感興趣的朋友不妨嘗試一下哈2013-07-07基于jquery實(shí)現(xiàn)的表格分頁(yè)實(shí)現(xiàn)代碼
該方法的運(yùn)用是從后臺(tái)數(shù)據(jù)庫(kù)中一次性取出所有的數(shù)據(jù),運(yùn)用Jquery把一部分?jǐn)?shù)據(jù)隱藏起來,事實(shí)上數(shù)據(jù)還是全部在html頁(yè)面中2011-06-06jQuery使用模式窗口實(shí)現(xiàn)在主頁(yè)面和子頁(yè)面中互相傳值的方法
這篇文章主要介紹了jQuery使用模式窗口實(shí)現(xiàn)在主頁(yè)面和子頁(yè)面中互相傳值的方法,涉及jQuery模式窗口及參數(shù)傳遞相關(guān)技巧,需要的朋友可以參考下2016-03-03利用jQuery的動(dòng)畫函數(shù)animate實(shí)現(xiàn)豌豆發(fā)射效果
本文主要講解jQuery的animate函數(shù)的基本用法,利用動(dòng)畫函數(shù)animate實(shí)現(xiàn)豌豆發(fā)射的效果,對(duì)于學(xué)習(xí)animate很有幫助,有需要的可以參考借鑒。2016-08-08jquery僅用6行代碼實(shí)現(xiàn)滑動(dòng)門效果
這篇文章主要介紹了jquery僅用6行代碼實(shí)現(xiàn)滑動(dòng)門效果,涉及jquery樣式變換的實(shí)現(xiàn)技巧,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下2015-09-09