JavaScript中如何对一个对象进行深度clone

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>深克隆</title>
<script>
function clone(obj)
{
if(typeof obj=='object')
{
if(obj instanceof Array)
{
var result=[];

for(var i=0;i<obj.length;i++)
{
result[i]=clone(obj[i]);
}

return result;
}
else
{
var result={};

for(var i in obj)
{
result[i]=clone(obj[i]);
}

return result;
}
}
else
{
return obj;
}
}

var obj1=[12, {a: 11, b: 22}, 5];
var obj2=clone(obj1);

obj2[1].a+=5;

console.log(obj1, obj2);
</script>
</head>

<body>
</body>
</html>

原文地址:https://www.cnblogs.com/heboliufengjie/p/5157932.html