实现一个clone函数
来源:互联网 发布:济南市社保查询软件 编辑:程序博客网 时间:2024/06/10 17:14
实现一个函数clone,可以对JavaScript中的5种主要的数据类型(包括Number、String、Object、Array、Boolean)进行值复制。
方法一
- function clone(obj){
- var o;
- switch(typeof obj){
- case 'undefined': break;
- case 'string' : o = obj + '';break;
- case 'number' : o = obj - 0;break;
- case 'boolean' : o = obj;break;
- case 'object' :
- if(obj === null){
- o = null;
- }else{
- if(obj instanceof Array){
- o = [];
- for(var i = 0, len = obj.length; i < len; i++){
- o.push(clone(obj[i]));
- }
- }else{
- o = {};
- for(var k in obj){
- o[k] = clone(obj[k]);
- }
- }
- }
- break;
- default:
- o = obj;break;
- }
- return o;
- }
方法二
- function clone2(obj){
- var o, obj;
- if (obj.constructor == Object){
- o = new obj.constructor();
- }else{
- o = new obj.constructor(obj.valueOf());
- }
- for(var key in obj){
- if ( o[key] != obj[key] ){
- if ( typeof(obj[key]) == 'object' ){
- o[key] = clone2(obj[key]);
- }else{
- o[key] = obj[key];
- }
- }
- }
- o.toString = obj.toString;
- o.valueOf = obj.valueOf;
- return o;
- }
方法三
- function clone3(obj){
- function Clone(){}
- Clone.prototype = obj;
- var o = new Clone();
- for(var a in o){
- if(typeof o[a] == "object") {
- o[a] = clone3(o[a]);
- }
- }
- return o;
- }
0 0
- 实现一个clone函数
- 怎样实现一个函数clone,对JavaScript中的五种主要的数据类型进行值复制
- 实现一个clone函数并可以对js中的5种主要数据类型进行值复制
- Clone 函数
- clone实现
- 实现一个函数clone,可以对JavaScript中的5种主要的数据类型(包括Number、String、Object、Array、Boolean)进行值复制。
- 实现一个函数clone,可以对JavaScript中的5种主要的数据类型(包括Number、String、Object、Array、Boolean)进行值复制。
- 面试题---实现一个函数clone,可以对JavaScript中的5种主要的数据类型(包括Number、String、Object、Array、Boolean)进行值复制。
- clone()函数的用法?
- Linux的Clone函数
- linux的clone()函数
- Linux中的clone()函数
- Linux中的clone()函数
- linux clone()函数
- 详解clone函数
- Linux的Clone函数
- jquery clone()函数讲解
- linux clone函数使用
- C#/IOS/Android通用加密解密方法
- 【Hibernate步步为营】--多对多映射详解
- static的描述
- 对Android中集成支付宝支付流程的总结
- 221. Maximal Square
- 实现一个clone函数
- 【Hibernate步步为营】--关联映射之多对一
- 校第十六届大学生程序设计竞赛暨2016省赛集训队选拔赛(Problem E)
- 4444: [Scoi2015]国旗计划|贪心|倍增
- Java中父类与子类的普通代码块,构造代码块,静态代码块 初始化
- Effective Java第29条--将局部变量的作用域最小化
- android 高效开发工具
- 93. Restore IP Addresses
- Python 基础—— collections 模块