首页
HTML+CSS
JavaScript
Vue
WordPress
WP Functions
注册/登录
首页 > JavaScript > 正文

JS:深度克隆

直接上代码:

var obj = {a:1,b:2}  
var newObj = {}; 

function deepClone(origin, target) {
    var target = target || {};
    toStr = Object.prototype.toString;
    for(var prop in origin ){
        if(origin.hasOwnProperty(prop)){ //不能把原型链上的一起拷贝了
            //判断是元素类型还是引用类型
            if(typeof(origin[prop]) == 'object' && origin[prop] !== null ){
                target[prop] = toStr.call(prop) == '[object Array]' ? [] : {};//新建空对象
                deepClone(origin[prop], target[prop]);	//递归调用
            } else {
                target[prop] = origin[prop];	//原始类型直接复制
            }
        }
    }
 
    return target;
}

deepClone(obj, newObj);

 

展开全部
分享到:
下一篇:JS:数组

网友评论comments

发表评论

电子邮件地址不会被公开。 必填项已用*标注

暂无评论

Copyright © 2012-2013 Weesh Net Media
扫二维码
扫二维码
返回顶部