使用Math.max的javascript上下文

时间:2012-04-03 14:48:00

标签: javascript scope apply

我正在学习javascript的上下文以及.apply().call()函数,并且遇到了一个特定语句的问题。

Math.max.apply( Math, array );

你能解释它如何提供最大数量吗?

2 个答案:

答案 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

这相当于上面的代码。