Javascript应用奇怪的行为?

时间:2015-05-23 17:24:47

标签: javascript

我遇到了一个关于申请时使用的问题,例如: Math.max。例如,让我们说我有一个数组:

sum(S)

但无论我作为第一个参数传递的价值如何,我总能得到相同的结果:

p(S,:)

我能做的唯一假设就是Math.max何时被称为throw应用函数上下文在这种情况下不重要?

3 个答案:

答案 0 :(得分:1)

如果您在要传入的数组中找到最大值,为什么this会有什么关系呢?

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/apply

答案 1 :(得分:1)

您传递给任何函数的apply的第一个参数将是该函数内的this。但是,max并不依赖于当前的上下文。因此,任何事情都可以替代Math

答案 2 :(得分:0)

max将是Java等类语言的静态方法。它不会在它只使用参数的上下文中继。您可以看到,当您调用它时,您不会创建Math实例,只需访问其方法即可。 这是调用函数式编程,因为没有可能影响结果的状态。只要输入相同,函数的输出将始终相同