SOURCE

var a={
  c:{
    b:"1"
  },
  a:1
}
var b={
  c:{
    b:2,
    a:1
  },
  a:3,
  c:{
    e:1
  }
}
function marge(a,b){
  function getType(name,obj){
    return Object.prototype.toString.call(obj)=="[object "+name+"]"
  }
  if(getType("Object",a)&&getType("Object",b)){
    for(let i in b){
      if(getType("Object",a[i])&&getType("Object",b[i])){
        marge(a[i],b[i]);
      }else{
        a[i]=b[i]
      }
    }
  }
  return a;
}
console 命令行工具 X clear

                    
>
console