国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

JS里深拷貝和淺拷貝的釋義

zollero / 825人閱讀

摘要:本文解釋中深拷貝和淺拷貝的區(qū)別。深拷貝深拷貝指遞歸的復(fù)制對(duì)象的屬性給新對(duì)象。有些時(shí)候一層的深拷貝被認(rèn)為是淺拷貝,比如的值是一個(gè)對(duì)象,淺拷貝出來的新對(duì)象直接引用了原對(duì)象的對(duì)象,所以也會(huì)相互影響的。

本文解釋javascript中深拷貝和淺拷貝的區(qū)別。

淺拷貝/Shallow Copy

淺拷貝指拷貝了引用值。

var original = {"prop1" : "Prop1", "prop2" : "prop2"};
console.log(JSON.stringify(original));
// {"prop1" : "Prop1", "prop2" : "prop2"}

var shallowCopy = original;
console.log(JSON.stringify(shallowCopy));
// {"prop1" : "Prop1", "prop2" : "prop2"}

shallowCopy.prop1 = "ChangedProp1";

console.log(JSON.stringify(original));
// {"prop1" : "ChangedProp1", "prop2" : "prop2"}
console.log(JSON.stringify(shallowCopy));
// {"prop1" : "ChangedProp1", "prop2" : "prop2"}

https://smoothprogramming.com...

注意:

淺拷貝中,原始值和副本共享同樣的屬性。

淺拷貝只拷貝了對(duì)象引用。

淺拷貝中如果修改了拷貝對(duì)象會(huì)影響到原始對(duì)象,反之亦然。

js中,數(shù)組和對(duì)象的賦值默認(rèn)為淺拷貝。

深拷貝/Deep Copy

深拷貝指遞歸的復(fù)制對(duì)象的屬性給新對(duì)象。jquery中我們使用$.extend去進(jìn)行深拷貝。

$.extend(deepCopy, target, object1, [objectN] )

第一個(gè)參數(shù)傳入true,指明此為深拷貝,target為目標(biāo)對(duì)象,object1,原對(duì)象。

var original = {"prop1" : "Prop1", "prop2" : "prop2"};
console.log(JSON.stringify(original));
// {"prop1" : "Prop1", "prop2" : "prop2"}

var deepCopy = $.extend(true, {}, original);
console.log(JSON.stringify(deepCopy));
// {"prop1" : "Prop1", "prop2" : "prop2"}

deepCopy.prop1 = "ChangedProp1";

console.log(JSON.stringify(original));
// {"prop1" : "Prop1", "prop2" : "prop2"}
console.log(JSON.stringify(deepCopy));
// {"prop1" : "ChangedProp1", "prop2" : "prop2"}

https://smoothprogramming.com...

注意:

深拷貝中,副本和原對(duì)象不共享屬性

深拷貝遞歸的復(fù)制屬性

深拷貝的副本不會(huì)影響到原對(duì)象,反之亦然

js中所有的原始數(shù)據(jù)類型默認(rèn)執(zhí)行深拷貝,比如Boolean, null, Undefined, Number,String等

譯者注:

實(shí)際工作中,通常所謂clone一個(gè)對(duì)象一般都是指深拷貝,即拷貝一個(gè)對(duì)象的副本。

有些時(shí)候一層的深拷貝被認(rèn)為是淺拷貝,比如shallowCopy({a:1,b:{hello:"world}}),b的值是一個(gè)對(duì)象,淺拷貝出來的新對(duì)象直接引用了原對(duì)象的value對(duì)象,所以也會(huì)相互影響的。

實(shí)際工作中,深拷貝(遞歸的對(duì)對(duì)象里每一層值和對(duì)象進(jìn)行拷貝)應(yīng)用很廣泛,我認(rèn)為淺拷貝只變成了一種概念,因?yàn)槊恳粋€(gè)需要clone的地方都是深拷貝。

復(fù)制一個(gè)副本對(duì)象也可以通過工廠函數(shù),比如vuejs里的data。

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/98407.html

相關(guān)文章

  • js拷貝和淺拷貝

    摘要:深拷貝和淺拷貝深拷貝和淺拷貝的示意圖大致如下淺拷貝只復(fù)制指向某個(gè)對(duì)象的指針,而不復(fù)制對(duì)象本身,新舊對(duì)象還是共享同一塊內(nèi)存。參考文章什么是深拷貝和淺拷貝及其實(shí)現(xiàn)方式 走在前端的大道上 本篇將自己讀過的相關(guān)文章中,對(duì)自己有啟發(fā)的章節(jié)片段總結(jié)在這(會(huì)對(duì)原文進(jìn)行刪改),會(huì)不斷豐富提煉總結(jié)更新。 淺拷貝 var m = { a: 10, b: 20 } var n = m; n.a = 15; ...

    MAX_zuo 評(píng)論0 收藏0
  • 淺探js拷貝和淺拷貝

    摘要:接下來就讓我們更細(xì)致的探究中的深淺拷貝。總結(jié)以上對(duì)深拷貝和淺拷貝做了簡(jiǎn)單的介紹,在深拷貝的實(shí)現(xiàn)上也只介紹了最簡(jiǎn)單的實(shí)現(xiàn)形式,并未考慮復(fù)雜情況以及相應(yīng)優(yōu)化,想要對(duì)深拷貝有更深入的了解,需要大家花時(shí)間去深入研究,或者可以關(guān)注我后續(xù)文章的動(dòng)態(tài)。 對(duì)象和數(shù)組的拷貝對(duì)我來說一直都是一個(gè)比較模糊的概念,一直有點(diǎn)一知半解,但是在實(shí)際工作中又偶爾會(huì)涉及到,有時(shí)候還會(huì)一不小心掉坑里,不知道大家有沒有同樣...

    habren 評(píng)論0 收藏0
  • 拷貝和淺拷貝區(qū)別

    摘要:深拷貝和淺拷貝的區(qū)別背景最近在用框架寫頁面,賦值給中的對(duì)象時(shí)會(huì)出現(xiàn)一個(gè)問題,賦值和被賦值對(duì)象之中任何一個(gè)有變化,另一個(gè)也會(huì)隨之變化。 深拷貝和淺拷貝的區(qū)別 背景:最近在用vue框架寫頁面,賦值給Vue.$data中的對(duì)象時(shí)會(huì)出現(xiàn)一個(gè)問題,賦值和被賦值對(duì)象之中任何一個(gè)有變化,另一個(gè)也會(huì)隨之變化。例如: var b = { foo: 123 }; var vm = new Vue(...

    suemi 評(píng)論0 收藏0
  • 重新梳理下js拷貝和淺拷貝

    摘要:參考鏈接淺拷貝最簡(jiǎn)單的淺拷貝就賦值。所謂的淺拷貝就是,后面的對(duì)象和前面的對(duì)象在第一層數(shù)據(jù)結(jié)構(gòu)中指向同一個(gè)堆地址。但是如果前面的數(shù)據(jù)不止有一層,如此時(shí),使用和方式實(shí)現(xiàn)的都是淺拷貝。深拷貝管你怎么變,互不影響。 參考鏈接:http://www.cnblogs.com/st-les...https://blog.csdn.net/hj7jay/... 淺拷貝: 1.最簡(jiǎn)單的淺拷貝就賦值。由于...

    kun_jian 評(píng)論0 收藏0
  • 深入JavaScript中深拷貝和淺拷貝

    摘要:深拷貝和淺拷貝問題的本質(zhì)還是不同數(shù)據(jù)類型的存儲(chǔ)方式差異,尤其是引用數(shù)據(jù)類型的特殊。 深拷貝和淺拷貝問題的本質(zhì)還是不同數(shù)據(jù)類型的存儲(chǔ)方式差異,尤其是引用數(shù)據(jù)類型的特殊。showImg(https://segmentfault.com/img/bVbb8XH?w=1058&h=409); 現(xiàn)分別對(duì)賦值、淺拷貝、深拷貝做深入研究: 1.賦值 原理:直接將對(duì)象指針直接賦值給另一個(gè)變量 代碼: ...

    TalkingData 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<