function deepMerge(obj1, obj2) { let key; for (key in obj2) { // 如果target(也就是obj1[key])存在,且是對象的話再去調用deepMerge,否則就是obj1[key]里面沒這個對象,需要與obj2[key]合並 // 如果obj2[key]沒有值或者值不是對象,此時直接替換obj1[key] obj1[key] = obj1[key] && obj1[key].toString() === "[object Object]" && (obj2[key] && obj2[key].toString() === "[object Object]") ? deepMerge(obj1[key], obj2[key]) : (obj1[key] = obj2[key]); } return obj1; }