複製物件的幾種方法以及各自的特徵

2021-10-10 12:10:29 字數 455 閱讀 8279

方法

描述特徵

淺複製深複製

for…in

物件遍歷複製

不修改引用關係,僅能複製字元屬性,symbol不能複製,

不可列舉屬性不能複製,原型鏈屬性不能複製

√json.parse(json.stringify(obj))

轉換複製

修改引用關係,僅能複製字元屬性,symbol不能複製,不可列舉

屬性不能複製,原型鏈屬性不能複製,函式和其他型別也不能複製

√解構賦值複製法

修改引用關係,symbol和函式都能複製,不可列舉屬性和原型鏈屬性都不能複製

√object.assign()

物件複製法

修改引用關係,僅能複製字元屬性,symbol不能複製,不可列舉屬性

不能複製,原型鏈屬性不能複製,函式和其他型別也不能複製

陣列複製的幾種方法

一 for迴圈 二 使用system.arraycopy方法 system.arraycopy src,srcpos,dest,destpos,length 可以選定複製原陣列的部分內容,但新陣列需要先宣告並初始化 另外這種方法可以用來實現原陣列的擴容,即將原陣列的內容拷進去,但是比較麻煩 三 ar...

轉殖物件的幾種方法

轉殖物件在開發過程中經常會遇到,有些時候需要淺轉殖,有些時候需要深轉殖,具體它們之間有什麼區別,以及實現方式有哪些,在這裡總結一下。實現深轉殖有以下幾種方法。如下 手動複製 var user2 new user 如下 1 反射 2var user3 user1.copy as user 擴充套件方法...

建立物件的幾種方法

建立自定義物件的最簡單方法就是建立乙個object的例項,再為他新增屬性和方法。1 var people new object 2 people.name yewenxiang 3 people.age 24 4 people.sayname function 還可以使用物件字面量語法建立乙個物件,...