博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaScript 实现深度拷贝
阅读量:6860 次
发布时间:2019-06-26

本文共 1259 字,大约阅读时间需要 4 分钟。

var obj = {            name: "abc",            age: 123,            card: ['visa', 'master'],            wife: {                name: 'bcd',                son: {                    name: 'aaa'                }            }        }        var obj1 = {        }        //深度拷贝        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] = {}; // } target[prop] = toStr.call(origin[prop]) == arrStr ? [] : {}; deepClone(origin[prop], target[prop]); } else { target[prop] = origin[prop]; } } } return target; } deepClone(obj, obj1);

 

转载于:https://www.cnblogs.com/FashionDoo/p/10631693.html

你可能感兴趣的文章
linux基础—课堂随笔_03 SHELL脚本编程基础
查看>>
【Win7快捷键启动程序有哪些妙招】
查看>>
MS DOS 命令大全
查看>>
College student reflects on getting started in open source(一)
查看>>
Windows下初次手动安装composer详细教学
查看>>
Oracle 查询库中所有表名、字段名、字段名说明,查询表的数据条数、表名、中文表名、...
查看>>
JAVA入门到精通-第53讲-数据库概念
查看>>
升级10.10 Yosemite 后,cocoapods 出现错误(解决方案)
查看>>
[Microsoft][ODBC 驱动程序管理器] 在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配...
查看>>
SQL ROW_NUMBER() 分页使用示例
查看>>
UEditor编辑器两个版本任意文件上传漏洞分析
查看>>
Redis分布式锁服务(八)
查看>>
MySQL的引入
查看>>
C++单例模式
查看>>
bower安装报错”Cannot be run with sudo”解决办法
查看>>
android平台中编写jni模块的方法(3)
查看>>
软件工程网络15结对编程1——四则运算优化
查看>>
进程、应用程序域,线程和上下文之间的关系
查看>>
c++作业:递归调用,例题4.5 求第五个人的年龄
查看>>
为什么我的新项目选择了Quick-cocos2d-x
查看>>