Javascript 为什么Math.max.apply不';我不在乎第一个参数
它将上下文指定为Javascript 为什么Math.max.apply不';我不在乎第一个参数,javascript,math,Javascript,Math,它将上下文指定为Math对象。这是不必要的(min()和max()方法将继续工作,不管作为上下文传递什么 为什么即使像未定义的那样传递,它也能工作? 为什么不需要传递Math?当函数执行时,apply的第一个参数将绑定到this。1如果函数没有引用this(包括通过它可能调用的函数间接调用的参数),那么这是什么并不重要。Math.min在执行时没有使用这 1这几乎是准确的。根据,关于第一个论点: 请注意,这可能不是该方法看到的实际值:如果该方法是非严格模式代码中的函数,则null和undefin
Math
对象。这是不必要的(min()和max()方法将继续工作,不管作为上下文传递什么
为什么即使像未定义的那样传递,它也能工作?
为什么不需要传递Math
?当函数执行时,apply
的第一个参数将绑定到this
。1如果函数没有引用this
(包括通过它可能调用的函数间接调用的参数),那么这
是什么并不重要。Math.min
在执行时没有使用这
1这几乎是准确的。根据,关于第一个论点:
请注意,这可能不是该方法看到的实际值:如果该方法是非严格模式代码中的函数,则null和undefined将替换为全局对象,原始值将被装箱
因为
Math.min
只将参数作为参数,这个
并不重要;它不是像[1,2,3].min()那样在数组上运行。例如,您可以阅读文档中的。
function smallest(array){
return Math.min.apply(Math, array);
}