深拷贝方法

  • 第一种方法(最优):
function deepCopy(p, c) {
    var c = c || {};
    for (var i in p) {
        if(!p.hasOwnProperty(i)){
            continue;
        }
        if (typeof p[i] === 'object') {
            c[i] = (p[i].constructor === Array) ? [] : {};
            deepCopy(p[i], c[i]);
        } else {
            c[i] = p[i];
        }
    }
    return c;
}
  • 第二种方法(缺点:不能拷贝对象内部function):
JSON.parse(JSON.stringify())

猜你喜欢

转载自blog.csdn.net/u014628388/article/details/81409336