javascript 深度克隆
2024-08-27 13:50:55
关键词 :递归
主要分为 数组 、对象、以及基本类型
function clone(Obj) {
var buf;
if (Obj instanceof Array) { //如果是数组类型 则构建一个数组 clone数组的每个元素
buf = [];
var i = Obj.length;
while (i--) {
buf[i] = clone(Obj[i]);
}
return buf;
}else if (Obj instanceof Object){ //如果是对象类型 则创建对象 clone 对象中的属性
buf = {}; //创建一个空对象
for (var k in Obj) { //为这个对象添加新的属性
buf[k] = clone(Obj[k]);
}
return buf;
}else{
return Obj; //如果是值类型 则直接返回
}
}
最新文章
- 面向云的.net core开发框架
- GridView点击排序
- Windows服务编程Demo
- ASP.NET用HttpListener实现文件断点续传
- JMeter基础概念
- (译)Windsor入门教程---第三部分 编写第一个Installer
- php加密字符串超时不可解密
- 学习phalcon框架按照官网手册搭建第一个项目注册功能
- Intellij idea 2018的注册方式
- python基础语法二
- macbookpro 以及 surface 的技术规格
- webxml样板
- SQL注入——SQL Injection
- SDL OPENGL 在linux ubuntu示例
- Docker 开发最佳实践
- Redis支持的数据类型及相应操作命令:String(字符串),Hash(哈希),List(列表),Set(集合)及zset(sorted set:有序集合)
- meta 标签禁止缩放失效
- 【代码笔记】iOS-导航条的标题(label)
- Oracle高级查询之CONNECT BY
- linux create a process
热门文章
- 开始SDK之旅-入门2-集成流程图、轨迹图到系统
- bzoj2330糖果
- JZ2440 裸机驱动 第5章 GPIO接口
- 冒泡排序算法-Python实现
- 黄聪:C#多线程教程(1):BeginInvoke和EndInvoke方法,解决主线程延时Thread.sleep柱塞问题(转)
- post参数的方法 json data 和特别的传参
- PHP CRC16 校验码的算法怎么使用
- 20181123_SQL Server 2008_找出以逗号分隔的字符串中最大的数字
- MPI 并行奇偶交换排序 + 集合通信函数 Sendrecv() Sendvecv_replace()
- Selenium Webdriver——实现截图功能