十几行搞定deppClone

149 阅读1分钟
ES5深拷贝函数封装,十几行搞定:

上代码

function deepClone(obj,tar){
    var tar = tar || {}
    for (var k in obj){
        if(obj.hasOwnProperty(k)){
            if(typeof obj[k] === 'object' && obj[k] !== null){
                tar[k] = Object.prototype.toString.call(obj[k]) === '[object Array]' ? [] :{}
                deepClone(obj[k],tar[k])     
            }else {
                tar[k] = obj[k]
            }
        }
    }
    return tar
}

看结果

image.png

轻轻松松,简简单单,搞定面试题~👍

✿✿ヽ(°▽°)ノ✿