欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺談JavaScript中面向?qū)ο蟮牡纳羁截惡蜏\拷貝

 更新時(shí)間:2016年08月01日 08:50:06   投稿:jingxian  
下面小編就為大家?guī)?lái)一篇淺談JavaScript中面向?qū)ο蟮牡纳羁截惡蜏\拷貝。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

理解深拷貝和淺拷貝之前需要弄懂一些基礎(chǔ)概念,內(nèi)存中存儲(chǔ)的變量類型分為值類型和引用類型。

1、值類型賦值的存儲(chǔ)特點(diǎn), 將變量?jī)?nèi)的數(shù)據(jù)全部拷貝一份, 存儲(chǔ)給新的變量。

例如:var num = 123 ;var num1=num;

表示變量中存儲(chǔ)的數(shù)字是 123。然后將數(shù)據(jù)拷貝一份,就是將 123 拷貝一份. 那么內(nèi)存中有 2 個(gè) 數(shù)組;將拷貝數(shù)據(jù)賦值給 num2,其特點(diǎn)是在內(nèi)存中有兩個(gè)數(shù)據(jù)副本.這可以理解為淺拷貝。

2、引用類型的賦值。

var o={name:'張三‘};

var obj=o;

賦值就是將 變量 o 中存儲(chǔ)的數(shù)據(jù)拷貝一份, 然后將該數(shù)據(jù)賦值給 obj。內(nèi)存中有 1 分?jǐn)?shù)據(jù),利用 obj 修改的 name 屬性會(huì)影響到 o 中的 name。

如果拷貝的時(shí)候, 將數(shù)據(jù)的所有引用結(jié)構(gòu)都拷貝一份, 那么數(shù)據(jù)在內(nèi)存中獨(dú)立就是深拷貝;

如果拷貝的時(shí)候, 只針對(duì)當(dāng)前對(duì)象的屬性進(jìn)行拷貝, 而屬性是引用類型這個(gè)不考慮, 那么就是淺拷貝;

拷貝: 復(fù)制一份. 指將對(duì)象數(shù)據(jù)復(fù)制;

在討論深拷與淺拷的時(shí)候一定要保證對(duì)象的屬性也是引用類型。

以上這篇淺談JavaScript中面向?qū)ο蟮牡纳羁截惡蜏\拷貝就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論