//模擬物件 let obj = { numberParams:1, functionParams:() => { console.log('昨天基金全是綠的,只有我的眼睛是紅的'); }, objParams:{ a:1, b:2 } } const newObj = copyObj(obj); //這樣就完成了一個物件的遞回拷貝 obj.numberParams = 100; //更改第一個物件的指 console.log(newObj.numberParams); //輸出依然是1 不會跟隨obj去改變
//函式拷貝
const copyObj = (obj = {}) => {
//變數先置空
let newobj = null;
//判斷是否需要繼續進行遞回
if (typeof (obj) == 'object' && obj !== null) {
newobj = obj instanceof Array ? [] : {};
//進行下一層遞回克隆
for (var i in obj) {
newobj[i] = copyObj(obj[i])
}
//如果不是物件直接賦值
} else newobj = obj;
return newobj;
}
作者: 阿清
鏈接: https://aqingya.cn/articl/80b561a9.html
來源: 阿清的小站
著作權歸作者所有,商業轉載請聯系作者獲得授權,非商業轉載請注明出處,
湊字數湊字數湊字數湊字數湊字數湊字數湊字數湊字數湊字數湊字數湊字數湊字數湊字數湊字數湊字數湊字數湊字數湊字數湊字數湊字數
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/540550.html
標籤:其他
上一篇:手寫Promise方法(實作Promise A+規范)
下一篇:認識一下 Mobx
