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

Posted daleizi147

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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()方法中,从而实现了传递数组。

以上是关于JavaScript中Math.max.apply()和Math.max()的区别的主要内容,如果未能解决你的问题,请参考以下文章

返回数组中的最大值,var arr = [2, 4, 6, 8, 5, 0]; alert(Math.max.apply(this, arr));

Math.min() Math.max() Math.min().apply() Math.max() .apply()该如何使用???

汤姆大叔6道javascript思考题

js中apply和Math.max()函数的问题?

如何在 Javascript 中取整整数值

apply方法别有他用!