analytics.js
function (dest, src, recursive) {
  for (var prop in src) {
    if (recursive && dest[prop] instanceof Object && src[prop] instanceof Object) {
      dest[prop] = defaults(dest[prop], src[prop], true);
    } else if (! (prop in dest)) {
      dest[prop] = src[prop];
    }
  }

  return dest;
}
function (dest, src, recursive) {
  for (var prop in src) {
    if (recursive && dest[prop] instanceof Object && src[prop] instanceof Object) {
      dest[prop] = defaults(dest[prop], src[prop], true);
    } else if (! (prop in dest)) {
      dest[prop] = src[prop];
    }
  }

  return dest;
}
function ( dest , src , recursive ) { for ( var prop in src ) { if ( recursive && dest [ prop ] instanceof Object && src [ prop ] instanceof Object ) { dest [ prop ] = defaults ( dest [ prop ] , src [ prop ] , true ) ; } else if ( ! ( prop in dest ) ) { dest [ prop ] = src [ prop ] ; } } return dest ; }
Merge default values.

@param {Object} dest
@param {Object} defaults
@return {Object}
@api public
Merge default values .