合并对象的可枚举的属性/方法到指定对象。
// typeOf, return: 'array', 'object', 'function', 'null', 'undefined', 'string', 'number' const typeOf = exports.typeOf = input => { return ({}).toString.call(input).slice(8, -1).toLowerCase() } // merge object properties const merge = exports.merge = (obj, options) => { if (obj && options) { for (let p in options) { if (options.hasOwnProperty(p)) { if (typeOf(options[p]) === 'object') { merge(obj[p], options[p]) } else { obj[p] = options[p] } } } } return obj }