JavaScript中Math.max.apply()和Math.max()的区别

JavaScript中Math.max()方法可以求出给定参数中的最大值,给定参数≥2个,可以使多个,但是必须是数字。

> Math.max(1,2,3,5,9,4);
< 9
> Math.min(1,0,-1);
< -1

但是如果直接求数组中所有数字的最大值,就不能直接这么使用了,此时就需要使用到apply方法:

apply方法(Function)(JavaScript)
调用函数,并用制定对象替换函数的this值,同时用指定数组替换函数的参数。
apply([thisObj],[argArray]);

thisObj    可选。要用作this对象的对象。

argArray    可选。要传递到函数的一组参数。

如下代码调用Math.max()和Math.min()。

> Math.max.apply(null,[1,2,3,6,99,8,5,1111]);
< 1111
> Math.min.apply(null,[1,0,-1]);
< -1

其作用就是把数组一个一个拆分开来,然后在传递到Math.max()方法中,从而实现了传递数组。

原文地址:https://www.cnblogs.com/daleizi147/p/8443534.html