最完美的深拷贝函数
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了最完美的深拷贝函数,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1171字,纯文字阅读大概需要2分钟。
内容图文
![最完美的深拷贝函数](/upload/InfoBanner/zyjiaocheng/985/f3291f8f1a184c80a48d016ca657f13e.jpg)
var?obj?=?{
??????name:?'欧元',
??????age:?2,
??????card:?['洗澡',?'吃饭',?'睡觉',?'逗猫棒',?'喝水'],
??????soul:?{
????????name:?'美元',
????????son:?{
??????????name:?"欧美"
????????}
??????}
????}
????var?obj2?=?{
????}
????//?遍历对象?for?in
????//?1.?判断是不是原始值?typeof()?object??instanceof??toString?constructor
????//?2.?判断是数组还是对象?
????//?3.?建立相应的数组或对象
????function?deepClone(origin,?target)?{
??????var?target?=?target?||?{},
????????toStr?=?Object.prototype.toString,
????????arrStr?=?"[object,?Array]";
??????for?(var?prop?in?origin)?{
????????//?不要取原型链上的东西
????????if?(origin.hasOwnProperty(prop))?{
??????????if?(origin[prop]?!=?"null"?&&?typeof?(origin[prop])?==?"object")?{
????????????if?(toStr.call(origin[prop])?==?arrStr)?{
??????????????//?数组
??????????????target[prop]?=?[]
????????????}?else?{
??????????????//??对象
??????????????target[prop]?=?{}
????????????}
????????????deepClone(origin[prop],?target[prop])
??????????}?else?{
????????????target[prop]?=?origin[prop]
??????????}
????????}
??????}
????}
????deepClone(obj,?obj2)
????obj2.soul.name="人民币"
????console.log('obj',?obj)
????console.log('obj2',?obj2)
内容总结
以上是互联网集市为您收集整理的最完美的深拷贝函数全部内容,希望文章能够帮你解决最完美的深拷贝函数所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。