深度轉殖剖析

2021-09-13 09:55:32 字數 594 閱讀 3824

// 深度遍歷

// 思路:

// 遍歷物件 for (var key in object)

// 判斷是否是原始值 typeof

// 判斷是物件還是陣列 instanceof看原型鏈有無其原型 tostring constructor (因父子域問題最好使用tostring)

// 建立相應的陣列或物件

function deepclone(origin,target);

var tostr = object.prototype.tostring;

for (var prop in origin) ;

deepclone(origin[prop],target[prop]);

}else

}

}return target;

}var obj =

},ddd:[,"fff",[1,2,]]

}var str = {}

console.log(deepclone(obj,str));

深度轉殖物件

有時,我們需要對乙個物件進行複製,如下列要求 1.使用遞迴來實現乙個深度轉殖,可以複製乙個目標物件,返回乙個完整拷貝 2.被複製的物件型別會被限制為數字 字串 布林 日期 陣列 object物件。function isobject obj function cloneobject obj 判斷物件型...

深度轉殖遞迴

function deepclone origin,target 防止target為空 var tostring object.prototype.tostring,arrclass object array objectclass object object for var prop in ori...

經典物件轉殖模型 深度轉殖

我們都知道 json.parse json.stringfy obj 可以深度轉殖乙個物件,但是有乙個缺陷,不能轉殖 物件 轉殖的方法 param obj returns function clone obj else if obj instanceof object else 轉殖物件 param...