Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么Math.max.apply不';我不在乎第一个参数_Javascript_Math - Fatal编程技术网

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);
}