手机版

基于遍历操作实现对象深度复制的JavaScript示例

时间:2021-08-27 来源:互联网 编辑:宝哥软件园 浏览:

文中给出了一个例子,说明JavaScript实现了基于遍历操作的对象深度复制。分享给大家参考,如下:

函数GetType(o){ var _ t;return((_ t=type of(o))=“object”?o==null ' null ' | | object . prototype . tostring . call(o)。切片(8,-1):_t)。toLowerCase();}函数extend(destination,source){ for(var p in source){ if(getType(source[p])=' array ' | | getType(source[p])=' object '){ destination[p]=getType(source[p])==' array '?[]:{};arguments.callee(目标[p],源[p]);} else { destination[p]=source[p];} }}var测试={ a:'ss ',b:'dd ',c:[ {d:'css ',e:'cdd'},{ m:'ff ',n:[ {kk:'11 ',jj:'22'},{ ll : ' 44 ' } } } };var test1={ };extend(test1,test);console.log(测试);console . log(test 1);test1.c[1]。n[0]。kk=' change//更改test1的c属性对象的d属性console . log(test);console . log(test 1);console.log(test.c[1])。n[0]);console.log(test1.c[1])。n[0]);试验结果

从测试结果中,我们可以看到,通过使用这种遍历方法,我们可以成功地复制对象test的一个深度副本,并获得test1。并且改变test1对象的属性不会影响测试对象。

感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.jb51.net/code/HtmlJsRun来测试上述代码的运行效果。

关于JavaScript的更多信息,请参考本网站的主题:《javascript面向对象入门教程》、《JavaScript切换特效与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》、《JavaScript数学运算用法总结》、0103010。

希望本文对JavaScript编程有所帮助。

版权声明:基于遍历操作实现对象深度复制的JavaScript示例是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。