我正在学习javascript的上下文以及.apply()
和.call()
函数,并且遇到了一个特定语句的问题。
Math.max.apply( Math, array );
你能解释它如何提供最大数量吗?
答案 0 :(得分:2)
Math.max.apply(Math, array);
这会调用方法Math.max
this === Math
(不是必需的,因为它几乎是一个静态方法)和array
中的所有元素作为参数。
答案 1 :(得分:1)
apply
是一个函数的方法,它使用给定的上下文对象和作为数组提供的参数调用函数:
var ops = {
sum : function (a, b) {
return a + b;
}
}
ops.sum.apply(ops, [4, 6]); // 10
// is equivalent to:
ops.sum(4, 6);
Math.max
返回0或0以上的最大数字:
Math.max(1,2,3,4); // 4
因此,使用apply
,您有:
Math.max.apply(Math, [1,2,3,4]); // 4
这相当于上面的代码。