js如何实现深拷贝
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,这篇文章给大家分享的是有关js如何实现深拷贝的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。深拷贝使用变量 a 拷贝对象 b,改变 a 中的值 b 中的值也会跟着改变,这叫做
千家信息网最后更新 2025年01月19日js如何实现深拷贝
这篇文章给大家分享的是有关js如何实现深拷贝的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
深拷贝
使用变量 a 拷贝对象 b,改变 a 中的值 b 中的值也会跟着改变,这叫做浅拷贝。要想让 a 独立于 b 就需要深拷贝
简易处理
function deepClone() { return JSON.parse(JSON.stringify(obj))}
既然是建议处理就有他的不足,上面主要是用了 JSON 的序列化和反序列化。而 JSON 是不支持函数和 undefined 的因此碰到这些情况会缺失,但是已经能够满足大部分情况了
复杂处理
复杂处理就需要采用递归的方式了
function deepClone(obj) { function isClass(o) { if (o === null) return "Null"; if (o === undefined) return "Undefined"; return Object.prototype.toString.call(o).slice(8, -1); } var result; var oClass = isClass(obj); if (oClass === "Object") { result = {}; } else if (oClass === "Array") { result = []; } else { return obj; } for (var key in obj) { var copy = obj[key]; if (isClass(copy) == "Object") { result[key] = arguments.callee(copy);//递归调用 } else if (isClass(copy) == "Array") { result[key] = arguments.callee(copy); } else { result[key] = obj[key]; } } return result;}
感谢各位的阅读!关于"js如何实现深拷贝"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
拷贝
处理
复杂
内容
序列
情况
更多
篇文章
递归
不错
实用
函数
变量
大部分
对象
建议
文章
方式
看吧
知识
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
青岛网络技术
模块化程度高软件开发工作量
蓝屏后进入网络安全模式
四川服务器地址
华硕服务器z9pa u8开机
天津志禧网络技术有限公司青海
苹果笔记本服务器怎么查找
江苏前端软件开发收费报价表
服务器license
tidb数据库理论基础
低维数据库
工行服务器安全链接失败
希望之村服务器点了没反应
武汉网络安全基地总体规划图
主流缓存数据库对比
网络技术应用 目录
第三方软件开发框架
软件开发人员的薪酬结构设计
净化网络安全联盟
数据库订单表和库存
网络安全周活动主题演讲稿
软件开发公司有什么部分
用代码建的数据库如何查看代码
如何升级税控服务器管理系统
redis数据库 主从
违反网络安全法第四十七条
学计算机网络技术遇到问题
德国服务器适合什么业务
权限角色管理数据库
软件开发技术难度划分