jQuery使用$.extend(true,object1, object2);實(shí)現(xiàn)深拷貝對(duì)象的方法分析
本文實(shí)例講述了jQuery使用$.extend(true,object1, object2);實(shí)現(xiàn)深拷貝對(duì)象的方法。分享給大家供大家參考,具體如下:
語(yǔ)法:jQuery.extend( [deep ], target, object1 [, objectN ] )
深淺拷貝對(duì)應(yīng)的參數(shù)就是[deep],是可選的,為true或false。默認(rèn)情況是false(淺拷貝),并且false是不能夠顯示的寫出來的。如果想寫,只能寫true(深拷貝)
測(cè)試?yán)樱?/p>
var object1 = {};
var object2 = {
b:{
mm:333
},
c:100
};
console.log('原來的object1--->'+JSON.stringify(object1));
console.log('原來的object2--->'+JSON.stringify(object2));
$.extend(true,object1, object2);
object1.b.mm = 600;
console.log('新的object1--->'+JSON.stringify(object1));
console.log('新的object2--->'+JSON.stringify(object2));
測(cè)試結(jié)果

由測(cè)試結(jié)果知道,jQuery中$.extend(true,object1, object2);可以深拷貝對(duì)象,拷貝之后,改變其中一個(gè)對(duì)象的屬性值,對(duì)另外一個(gè)沒有影響。
接著在繼續(xù)深入理解
測(cè)試?yán)?/p>
var object1 = {
a: 0,
b: {
gg: 11,
mm: 22
}
};
var object2 = {
b: {
mm: 333
},
c: 100
};
//默認(rèn)情況淺拷貝
//object1--->{"apple":0,"banana":{"price":200},"cherry":97,"durian":100}
//object2的banner覆蓋了object1的banner,但是weight屬性未被繼承
//$.extend(object1, object2);
//深拷貝
//object1--->{"apple":0,"banana":{"weight":52,"price":200},"cherry":97,"durian":100}
//object2的banner覆蓋了object1的banner,但是weight屬性也被繼承了呦
$.extend(true,object1, object2);
console.log('原來的object1--->'+JSON.stringify(object1));
console.log('原來的object2--->'+JSON.stringify(object2));
object1.b.mm = 600;
console.log('新的object1--->'+JSON.stringify(object1));
console.log('新的object2--->'+JSON.stringify(object2));
測(cè)試結(jié)果

感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運(yùn)行工具:http://tools.jb51.net/code/HtmlJsRun測(cè)試上述代碼運(yùn)行效果。
更多關(guān)于jQuery相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《jQuery擴(kuò)展技巧總結(jié)》、《jQuery常用插件及用法總結(jié)》、《jQuery切換特效與技巧總結(jié)》、《jQuery遍歷算法與技巧總結(jié)》、《jQuery常見經(jīng)典特效匯總》、《jQuery動(dòng)畫與特效用法總結(jié)》及《jquery選擇器用法總結(jié)》
希望本文所述對(duì)大家jQuery程序設(shè)計(jì)有所幫助。
相關(guān)文章
jquery插件jbox使用iframe關(guān)閉問題
最近做需要用到彈出窗口,發(fā)現(xiàn)JBox不錯(cuò),可以支持iframe,但是發(fā)現(xiàn)個(gè)問題,在iframe中添加一個(gè)按鈕點(diǎn)擊此按鈕2009-02-02
基于jQuery的倒計(jì)時(shí)實(shí)現(xiàn)代碼
昨天看了妙味課堂的倒計(jì)時(shí)視頻,自己學(xué)著寫了下,需要的朋友可以參考下2012-05-05
基于jQuery實(shí)現(xiàn)Ajax驗(yàn)證用戶名是否可用實(shí)例
這篇文章主要為大家詳細(xì)介紹了基于jQuery實(shí)現(xiàn)Ajax驗(yàn)證用戶名是否可用實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-03-03
解析prototype,JQuery中跳出each循環(huán)的方法
這篇文章主要介紹了在prototype,JQuery中跳出each循環(huán)的方法。需要的朋友可以過來參考下,希望對(duì)大家有所幫助2013-12-12
jQuery實(shí)現(xiàn)背景彈性滾動(dòng)的導(dǎo)航效果
這篇文章主要介紹了jQuery實(shí)現(xiàn)背景彈性滾動(dòng)導(dǎo)航效果的方法,涉及jQuery動(dòng)態(tài)操作頁(yè)面元素樣式的相關(guān)技巧,需要的朋友可以參考下2016-06-06
bootstrap+jquery項(xiàng)目引入文件報(bào)錯(cuò)的解決方法
這篇文章主要介紹了bootstrap+jquery項(xiàng)目引入文件的常見報(bào)錯(cuò)問題,下面小編給大家?guī)砹艘恍╁e(cuò)誤及錯(cuò)誤的解決方法,需要的朋友可以參考下2018-01-01
jQuery插件windowScroll實(shí)現(xiàn)單屏滾動(dòng)特效
本文給大家分享的是一個(gè)使用jQuery插件windowScroll實(shí)現(xiàn)的單屏滾動(dòng)的特效,主要參考搜狗瀏覽器4.2版本首頁(yè)的上下滾動(dòng)效果。主要實(shí)現(xiàn)整個(gè)窗口的上下和左右滾動(dòng)邏輯,非常的實(shí)用。2015-07-07
使用js dom和jquery分別實(shí)現(xiàn)簡(jiǎn)單增刪改
今天學(xué)了jquery框架的簡(jiǎn)單使用。于是用它實(shí)現(xiàn)簡(jiǎn)單的增刪改,接著也用原始的javascript實(shí)現(xiàn)同樣的功能,兩者對(duì)比可以看出jquery的強(qiáng)大2014-09-09

