1
用json转换方法转换一边;(好比把铁锅熔成铁水新建铸一个)
此方法不能克隆出对象里面的函数项,会丢失数据
var newobj = JSON.parse(JSON.stringify(obj))
2.
递归克隆
此方法可以完全克隆数组或对象
function deepclong(e) {
//如果是空就返回空
if (e === null) {
return null;
} else if (Array.isArray(e)) { //如果是数组新建个数组
var newobj = [];
} else {
var newobj = {};
}
for (i in e) {
//如果还是个对象就再次递归遍历
if (typeof e[i] == "object") {
newobj[i] = deepclong(e[i])
} else {
newobj[i] = e[i]
}
}
return newobj;
}