function random(min, max) {
    if (min == null && max == null) {
      return nativeRandom();
    }
    min = +min || 0;
    if (max == null) {
      max = min;
      min = 0;
    }
    return min + nativeFloor(nativeRandom() * ((+max || 0) - min + 1));
  }
Produces a random number between `min` and `max` (inclusive). If only one
argument is passed, a number between `0` and the given number will be returned.
If no arguments are passed `_.random` will act as `Math.random`.

@static
@memberOf _
@category Utilities
@param {Number} min The minimum possible value.
@param {Number} max The maximum possible value.
@returns {Number} Returns the random number.
@example

_.random(0, 5);
// => a number between 1 and 5

_.random(5);
// => also a number between 1 and 5

_.random();
// => an integer between 0 and less than 1