function deepClone(data) {
if (!data || !(data instanceof Object) || typeof data == "function") {
return data || undefined;
}
var constructor = data.constructor;
var result = new constructor();
for (var key in data) {
if (data.hasOwnProperty(key)) {
result[key] = deepClone(data[key]);
}
}
return result;
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>
<p id="demo">id="demo" 的 p 元素</p>
<p> 点击按钮修改 id="demo" 的 p 元素内容</p>
<button onclick="myFunction()">点我</button>
<script>
function myFunction() {
document.querySelector("#demo").innerHTML = "Hello World!";
}
var m ={
a:"2",
b:4,
c:[2,4,"3"],
d:myFunction
}
function deepClone(data){
if(!data || !(data instanceof Object) || (typeof data=="function"))
{
return data||undefined;
}
var constructor = data.constructor;
var result = new constructor();
for(var key in data){
if(data.hasOwnProperty(key)){
result[key]=deepClone(data[key]);
}
}
return result;
}
var kk = deepClone(m)
console.log(kk)
</script>
</body>
</html>