数据的深拷贝(可以拷贝DOM元素)
function deepCopy(obj, type) {
var temp = type || {}
for (var k in obj) {
if (Object.prototype.toString.call(obj[k]) === '[object Object]') {
temp[k] = deepCopy(obj[k], {})
} else if (Object.prototype.toString.call(obj[k]) === '[object Array]') {
temp[k] = deepCopy(obj[k], [])
} else {
temp[k] = obj[k]
}
}
return temp
}
//进化版1
function deepCopy(obj) {
var temp = Array.isArray(obj) ? [] : {}
for (var k in obj) {
if (Object.prototype.toString.call(obj[k]) === '[object Object]') {
temp[k] = deepCopy(obj[k])
} else if (Object.prototype.toString.call(obj[k]) === '[object Array]') {
temp[k] = deepCopy(obj[k])
} else {
temp[k] = obj[k]
}
}
return temp
}
//进化版2
function deepCopy(obj) {
var temp = Array.isArray(obj) ? [] : {}
for (var k in obj) {
var objType = Object.prototype.toString.call(obj[k])
if ( objType === '[object Object]' || objType === '[object Array]') {
temp[k] = deepCopy(obj[k])
}else {
temp[k] = obj[k]
}
}
return temp
}
#
最后说几句
如果有任何问题或建议,可以给我发邮件:156343782@qq.com.
欢迎交换友链,给我 发邮件:156343782@qq.com, 基本上可以做到秒加.
赞助
如果您觉得这篇文章对您有用,可以请作者喝一杯咖啡~~
微信:
支付宝: