您的位置:首页 > Web前端 > JavaScript

工作积累(四)——JavaScript深度克隆的实现

2015-07-21 20:49 776 查看
JavaScript 中的数据有两种大类,即基本类型和引用类型。因为引用类型使用指针,所以在简单赋值时不能实现克隆,下面介绍两种方法来实现 JavaScript 深度克隆。 
1. 原生JavaScript
[code=js;toolbar:false">function clone(former) {
if(!(former instanceof Object) 
    || former === null
    || (former instanceof RegExp)
    || (former instanceof Function)) {
    return former;
}
    if(former instanceof Array) {
        return former.slice();   //或 return former.concat();
    }
    var latter = {};
    for(var attr in former) {
        latter[attr] = clone(former[attr]);
    }
    return latter;
}var obj2 = clone(obj1);
obj1 === obj2  // falsevar obj4 = {};
jQuery.extend(true, obj4, obj1);
obj1 === obj4 // false 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: