code: function extend(source, target, deep) {
      if (deep) {
          return lodash.merge(lodash.cloneDeep(source), target);
      } else {
          return lodash.assignIn(source, target);
      }
  }
docs: So that the target object inherits the source,
  deep depth is true depth inheritance
  @param {any} source
  @param {any} target
  @param {any} deep
  @returns {*}