DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> 淺談JavaScript中面向對象的的深拷貝和淺拷貝
淺談JavaScript中面向對象的的深拷貝和淺拷貝
編輯:關於JavaScript     

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

1、值類型賦值的存儲特點, 將變量內的數據全部拷貝一份, 存儲給新的變量。

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

表示變量中存儲的數字是 123。然後將數據拷貝一份,就是將 123 拷貝一份. 那麼內存中有 2 個 數組;將拷貝數據賦值給 num2,其特點是在內存中有兩個數據副本.這可以理解為淺拷貝。

2、引用類型的賦值。

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

var obj=o;

賦值就是將 變量 o 中存儲的數據拷貝一份, 然後將該數據賦值給 obj。內存中有 1 分數據,利用 obj 修改的 name 屬性會影響到 o 中的 name。

如果拷貝的時候, 將數據的所有引用結構都拷貝一份, 那麼數據在內存中獨立就是深拷貝;

如果拷貝的時候, 只針對當前對象的屬性進行拷貝, 而屬性是引用類型這個不考慮, 那麼就是淺拷貝;

拷貝: 復制一份. 指將對象數據復制;

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

以上這篇淺談JavaScript中面向對象的的深拷貝和淺拷貝就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved