function smallest(array){
return Math.min.apply(Math, array);
}
它将上下文指定为Math
对象。这不是必需的(无论作为上下文传入什么,min() 和 max() 方法都将继续工作。
为什么即使通过了它也能工作undefined
?
为什么不需要通过Math
?
function smallest(array){
return Math.min.apply(Math, array);
}
它将上下文指定为Math
对象。这不是必需的(无论作为上下文传入什么,min() 和 max() 方法都将继续工作。
为什么即使通过了它也能工作undefined
?
为什么不需要通过Math
?
函数执行时apply
将绑定到的第一个参数。1如果函数没有引用(包括间接地,通过它可能调用的函数),那么它是什么并不重要。它发生在它执行时没有使用。this
this
this
Math.min
this
1这几乎是准确的。从docs,关于第一个论点:
请注意,这可能不是方法看到的实际值:如果方法是非严格模式代码中的函数,null 和 undefined 将被替换为全局对象,原始值将被装箱。