在了解什麼是淺拷貝與深拷貝之前,首先要明白JavaScript中值類型與引用類型的儲存特徵。
1. 值型別分為兩種:
基本資料型別:string、number、boolearn、undefined、null
複合資料型別:Array、Object、Function、Date、RegExp…
2. 賦值
```2.1基本資料型別賦值範例
var num = 123; var num2 = num;
"
* 值型別賦值的儲存特性, 變數內的資料全部拷貝一份, 儲存給新的變數.
* `var num = 123` 表示變數中儲存的數字是123.
* 然後將資料拷貝一份,就是將123 拷貝一份. 那麼記憶體中有2個資料
* 將拷貝資料賦值給`num2`,num2的變數值改變不會影響num的變數值
* 其特性是記憶體中有**兩個資料副本**.
"2.2複合資料型別賦值範例
var o = { name: '张三' }; var obj = o;
"
* 賦值是將變數o 儲存的資料拷貝一份, 然後將此資料賦值給obj
* 特點是記憶體中只有1 個數據,物件o和物件obj的name屬性值都指向同一位址。的值。說一下我理解的深拷貝與淺拷貝:
# 深拷貝與淺拷貝
1. 什麼是深拷貝, 什麼是淺拷貝
淺拷貝:*只針對目前物件的屬性進行拷貝,而噹噹前物件的屬性是引用型別時,這個不考慮。 。會影響拷貝的物件屬性。深拷貝的方法。
以上是JavaScript淺拷貝與深拷貝的差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!