title: How do you document JSDoc with mixed parameter type?
body: <p>How do I document a method in JavaScript using <strong>JSDoc</strong> when the parameter type can be mixed?</p>
  
  <p>I have method on a Dialog object where I can show HTML or my own Viewable objects. The method JSDoc looks like this:</p>
  
  <pre><code>/**
   * Can pass in viewable object, or some HTML element
   *
   * @param viewable viewable {Viewable} or HTML element {HTMLElement} or String {string}
   * @param {Boolean} cancelable is cancellable
   * @param title string or data object of String and Id {Title:String, Id:String} for setting HTML id value
   * @param {Array} actions array of functions actions display buttons on the bottom connecting to the passed in functions
   * @param {String} size mode. Can be mini,small,medium,large,maxi. Or of type {width:number, height:number}
   * @param {Number} zindex starting z-order. Note: first level dialog = 10,11,12, second level dialog 13,14,15 etc.
   */
  Dialog.showElement = function(viewable, cancelable, title, actions, mode, zindex){
  ..
  }
  </code></pre>
  
  <p>Because JS doesn't allow method overloading, I need to create these types of methods, where a parameter in a method can be two disparate types. Is there a way to document this in JSDoc, or can JSDoc only let you document a param with one type?</p>
  
  <p>Also how would you document a paramater of type <code>{Title:String, Id:String}</code>? That is, an object passed in that is not of a type. Quasi, a JSON object.</p>