SOURCE

function deepClone(obj){
    //如果是值类型 或者为null ,则直接 return
    if(typeof obj !== 'object' ||  obj=== null){

        return  obj
    }


    //定义结果对象
    let  copy ={}

        //如果 对象是数组,则定义结果数组
        if(obj.constructor === Array){
            copy = []
        }

    //遍历对象key
        for(let key in obj){

            //如果key是自有属性
            if(obj.hasOwnProperty(key)){

                //递归调用拷贝方法
                copy[key] =  deepClone(obj[key])
            }
        }


    return  copy;

}
console 命令行工具 X clear

                    
>
console