各种数据类型的复制
来源:互联网 发布:淘宝名字大全霸气男人 编辑:程序博客网 时间:2024/06/06 04:14
function clone(obj) { var cloneObj; switch (typeof obj){ case "undefined" : break; case "string" : case "number" : case "boolean" : cloneObj = obj; break; case "object" : if(obj == null) cloneObj = null; else if(Object.prototype.toString.call(obj) === "[object Object]"){ cloneObj = {}; for(var key in obj){ cloneObj[key] = clone(obj[key]) } } else if(Object.prototype.toString.call(obj) === "[object Array]"){ cloneObj = []; for(var i=0 ; i<obj.length ; i++){ cloneObj.push(obj[i]) } } break; } return cloneObj;}
这个问题主要要考虑到基本数据类型和引用数据类型,基本数据类型可以直接赋值进行复制,引用数据类型则不能直接赋值复制,需要判断引用数据类型是null、Object、Array中的哪一种,然后进行遍历复制。
Object.prototype.toString方法详解这里,注意:此toString不同于彼toString(),前面的没有括号哟!!
Object.prototype.toString也可以直接用toString代替
回头看过来,才发现为什么不直接用 Object.prototype.toString 方法呢?不用像上面那么麻烦,可以直接用一个方法做判断就好。
阅读全文
1 0
- 各种数据类型的复制
- 各种数据类型的转换
- 各种数据类型的长度
- 各种数据类型的大小
- 各种数据类型的转换
- 各种数据类型的长度
- 各种数据类型的范围
- 各种数据类型介绍、数据类型转换的总结
- c#的各种深浅复制
- Javascript 各种数据类型的转化
- 各种数据库的数据类型对比
- Qt 各种数据类型的转换
- Qt各种数据类型的转换
- 各种数据类型的相互转换
- 各种数据类型占据的字节
- 各种数据类型的相互转换
- Java_各种数据类型的运算
- 关于static 的各种数据类型
- 云笔记项目 Unit02
- LeetCode--52. N-Queens II
- Spring Boot的Server配置信息
- Java虚拟机详解
- Centos6.5下jdk1.6安装
- 各种数据类型的复制
- 分布式锁的实现
- 使用sharesdk做微信登陆模块(客户端)
- LeetCode--77. Combinations
- 多图|一文看懂25个神经网络模型
- TCP/IP三次握手、四次挥手
- 一些数据预处理方法
- 机器学习/深度学习工程师速查表大全
- Altium Designer 电源层分割个人笔记