0
function smallest(array){
return Math.min.apply(Math, array);
}
它將上下文指定爲Math
對象。這是沒有必要(在MIN()和MAX()方法將繼續無論什麼傳遞作爲上下文的工作。爲什麼Math.max.apply不關心第一個參數
爲什麼儘管通過像undefined
?
它甚至工作爲什麼不是必要通過Math
?
function smallest(array){
return Math.min.apply(Math, array);
}
它將上下文指定爲Math
對象。這是沒有必要(在MIN()和MAX()方法將繼續無論什麼傳遞作爲上下文的工作。爲什麼Math.max.apply不關心第一個參數
爲什麼儘管通過像undefined
?
它甚至工作爲什麼不是必要通過Math
?
函數執行時apply
的第一個參數將被綁定到this
。如果該函數不引用this
(包括間接地通過它可能調用的函數),則不要緊什麼this
是。它發生Math.min
不使用執行時爲。
這幾乎是準確的。從the docs,對於第一個參數:
注意,這可能不是通過該方法看到的實際值:如果該方法是在非嚴格模式代碼,null和undefined一個功能與全球替代對象和原始值將被裝箱。
因爲'Math.min'只需要'arguments'作爲參數,'this'無關緊要;例如,它不像數組['1,2,3] .min()那樣在數組上運行。 – elclanrs
您可以閱讀['Function.prototype.apply']的文檔(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/call)。 –