我遇到了一个关于申请时使用的问题,例如: Math.max。例如,让我们说我有一个数组:
sum(S)
但无论我作为第一个参数传递的价值如何,我总能得到相同的结果:
p(S,:)
我能做的唯一假设就是Math.max何时被称为throw应用函数上下文在这种情况下不重要?
答案 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实例,只需访问其方法即可。 这是调用函数式编程,因为没有可能影响结果的状态。只要输入相同,函数的输出将始终相同