halobear

导航

五种主要数据类型进行值克隆

网上代码  
<!
DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <!-- 编写一个函数实现对Object,Array,Boolean,Number,String这五种主要数据类型进行值复制。 网上搜到的参考解答:Object,Array,Boolean,Number,String分为三种情况:普通变量,Array,Object ,使用递归调用方式解题--> <h1 id="arra"></h1> <h1 id="obj"></h1> <h1 id="num"></h1> <script> function clone(Obj){ var buf; if(Obj instanceof Array){ buf = []; //创建一个空数组 var i = Obj.length; while(i--){ buf[i] = clone(Obj[i]); } return buf; } else if (Obj instanceof Object) { buf = {}; //创建一个空对象 for(var k in Obj){ buf[k] = clone(Obj[k]); } return buf; } else { return Obj; //普通对象直接赋值 } } var data = clone([1,2,3,4,5,'fff']); document.getElementById("arra").innerHTML = data; console.log(data); var data1 = clone({'id':1,'name':'lily'}); document.getElementById("obj").innerHTML = data1.id + data1.name; console.log(data1); var data2 = clone(111); document.getElementById("num").innerHTML = data2; console.log(data2); </script> </body> </html>

 

posted on 2018-09-06 15:46  沧海①粟  阅读(314)  评论(0编辑  收藏  举报