1 回答

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

TA貢獻(xiàn)3593條經(jīng)驗(yàn) 獲得超0個(gè)贊

TA貢獻(xiàn)52條經(jīng)驗(yàn) 獲得超38個(gè)贊

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