跳到主要内容

克隆

对象深度克隆的简单实现

function deepClone(obj) {
var newObj = obj instanceof Array ? [] : {};
for (var item in obj) {
var temple =
typeof obj[item] == "object" ? deepClone(obj[item]) : obj[item];
newObj[item] = temple;
}
return newObj;
}

ES5 的常用的对象克隆的一种方式。注意数组是对象,但是跟对象又有一定区别,所以 我们一开始判断了一些类型,决定 newObj 是对象还是数组。

实现 JS 中所有对象的深度克隆(包装对象,Date 对象,正则对象)

TODO

深浅拷贝的区别和实现