# Math.min()

The static function `Math.min()` returns the lowest-valued number passed into it, or `NaN` if any parameter isn't a number and can't be converted into one.

## Syntax

``````Math.min()
Math.min(value0)
Math.min(value0, value1)
Math.min(value0, value1, ... , valueN)
``````

### Parameters

`value1, value2, ...`

Zero or more numbers among which the lowest value will be selected and returned.

### Return value

The smallest of the given numbers. If any one or more of the parameters cannot be converted into a number, `NaN` is returned. The result is `Infinity` if no parameters are provided.

## Description

Because `min()` is a static method of `Math`, you always use it as `Math.min()`, rather than as a method of a `Math` object you created (`Math` is not a constructor).

If no arguments are given, the result is `Infinity`.

If at least one of arguments cannot be converted to a number, the result is `NaN`.

## Examples

### Using Math.min()

This finds the min of `x` and `y` and assigns it to `z`:

``````var x = 10, y = -20;
var z = Math.min(x, y);
``````

### Clipping a value with Math.min()

`Math.min()` is often used to clip a value so that it is always less than or equal to a boundary. For instance, this

``````var x = f(foo);

if (x > boundary) {
x = boundary;
}
``````

may be written as this

``````var x = Math.min(f(foo), boundary);
``````

`Math.max()` can be used in a similar way to clip a value at the other end.

## Browser compatibility

BCD tables only load in the browser