function addAdditionalAttributes( base, addition ){
	    // Check for an undefined value
	    addition = addition || {};

	    for ( var addAttribute in addition ) {
	      // Add the attribute if it doesn't exist
	      if ( !(addAttribute in base) && addition.hasOwnProperty(addAttribute) ) {
	        base[addAttribute] = addition[addAttribute];
	      }
	    }
	    return base;
	  }
/**
	   * Adds the attributes of the additional object to the base object, but doesn't
	   * overwrite existing ones.
	   *
	   * @param base the base object
	   * @param addition the object with additional data
	   * @returns the combination is also returned
	   */
Adds the attributes of the additional object to the base object, but doesn't
overwrite existing ones.

@param base the base object
@param addition the object with additional data
@returns the combination is also returned
Adds the attributes of the additional object to the base object but doesn ' t overwrite existing ones . @param base the base object @param addition the object with additional data @returns the combination is also returned
function addAdditionalAttributes( base, addition ){
	    addition = addition || {};
	    for ( var addAttribute in addition ) {
	      if ( !(addAttribute in base) && addition.hasOwnProperty(addAttribute) ) {
	        base[addAttribute] = addition[addAttribute];
	      }
	    }
	    return base;
	  }
function addAdditionalAttributes ( base , addition ) { addition = addition || { } ; for ( var addAttribute in addition ) { if ( ! ( addAttribute in base ) && addition . hasOwnProperty ( addAttribute ) ) { base [ addAttribute ] = addition [ addAttribute ] ; } } return base ; }
Adds the attributes of the additional object to the base object, but doesn't
 overwrite existing ones.
Adds the attributes of the additional object to the base object but doesn ' t overwrite existing ones .
// Check for an undefined value // Add the attribute if it doesn't exist