var clone = function (type) {
var o;
var typeA = typeof type;
switch (typeA){
case 'string':
o = typeA+'';
break;
case 'number':
o = typeA-0;
break;
case 'undefined':
break;
case 'boolean':
o = typeA;
break;
case 'object':
if(type===null){
o = null;
}else {
if(Object.prototype.toString.call(type).slice(8,-1)==='Array'){
o = [];
for(var i = 0;i<type.length;i++){
o.push(clone(type[i]));
}
}else {
o = {};
for(var key in type){
o[key] = clone(type[key]);
}
}
}
break;
default:
break;
}
return o;
}
实现一个函数clone,可以对javascript中的5种主要的数据类型进行值复制
本文深入探讨了JavaScript中实现深拷贝的一种方法,通过递归遍历对象或数组的每一个属性,创建一个新的独立副本,避免了引用类型共享同一个内存地址的问题。
1780

被折叠的 条评论
为什么被折叠?



