1. 基本概念
Math.max()方法用于获取一组数中的最大值。它的语法形式如下所示:
Math.max( [x1 [, x2 [, ...] ] ] );
上面语法形式中的方括号([ ])表示“可选的”意思,即它里面的内容是可有可无的。对该语法的通俗解释就是Math.max()方法可以接受任意个(0个或多于0个)参数。
如果向Math.max()传递了参数,那么这些参数都应该是数字,即它们的类型都应该是Number。如果某个参数不是Number类型的,那么该参数会先被强制类型转换为Number类型。
Math.max()方法的返回值由下面的规则决定,规则中提到的某个参数的值指的是该参数被转换为Number类型后的值,如果它原本不是Number类型的话。
1. 如果没有传递任何参数,那么结果是负无穷(-Infinity);
2. 如果任意一个参数为NaN,那么结果是NaN;
3. 其它情况下(此时参数是1个或多个,且全为数字),结果是所有参数中最大的那一个。
注意,Math.max()方法在比较参数的大小的时候,是认为+0大于-0的。而在很多其它的情况下,JavaScript又认为+0和-0是相等的。
2. 示例
2.1 参数全为数字
我们先来看看参数都是数字的情况,此时我们用不同的参数数量和参数值来调用Math.max()方法,该示例的执行结果如图1所示。
图1 参数全为数字的情况
2.2 参数包含非数字
如果Math.max()的某些参数不是数字,那么它们都会先被转换为Number类型,再按照第1小节中的规则求所有参数中的最大值。该示例的执行结果如图2所示。
图2 参数包含非数字的情况
(完)
领取专属 10元无门槛券
私享最新 技术干货