1 回答

TA貢獻158條經(jīng)驗 獲得超188個贊
因為Math.min方法不支持直接傳入一個數(shù)組,必須一個個參數(shù)傳入,而且每個參數(shù)必須是數(shù)字(或者能隱試轉(zhuǎn)換成數(shù)字的值),只要參數(shù)里有一個值不是數(shù)字最后得出的結(jié)果就是NaN。
上面說了Math.min方法不能直接傳入一個數(shù)組,所以就有了Math.min.apply(null, args);
aplly接受兩個參數(shù),第一個參數(shù)為指定當前函數(shù)調(diào)用時的this值,不過正如樓上所說你這個問題里的第一個參數(shù)并不是重點,隨便什么都行,主要是為了使用apply的第二個參數(shù),其第二個參數(shù)為一個數(shù)組(類數(shù)組),調(diào)用函數(shù)時這個數(shù)組里的每個元素都會被當成參數(shù)傳入該函數(shù),也就是相當于把這你這個數(shù)組里所有的元素都傳入了 Math.min() 方法,至于為什么結(jié)果是NaN,原因在在一開頭就說了,Math.min 方法的參數(shù)必須是數(shù)字,而你傳入的 [1,2,3,4,5,6, ] 這一組參數(shù),最后一項為 undefined,結(jié)果就是NaN了。

TA貢獻3593條經(jīng)驗 獲得超1個贊

TA貢獻52條經(jīng)驗 獲得超38個贊

TA貢獻39條經(jīng)驗 獲得超10個贊
在這個例子中 ,第一個參數(shù)隨便是什么對象都行,? 主要是為了實現(xiàn)多個值比較? 也就是主要為了使用第二個參數(shù)
第二個參數(shù)? 當然要和函數(shù)的形參一致才行??? 用arguments? 就都用 arguments
不知道你明白了沒....
添加回答
舉報