function multiMax(multi){
// Make an array of all but the first argument
var allButFirst = Array().slice.call( arguments, 1 );
// Find the largest number in that array of arguments
var largestAllButFirst = Math.max.apply( Math, allButFirst );
// Return the multiplied result
return multi * largestAllButFirst;
}
assert( multiMax(3, 1, 2, 3) == 9, "3*3=9 (First arg, by largest.)" );
来自http://ejohn.org/apps/learn/#47
我有两个问题要问任何人。
- 为什么我们需要使用 Array().slice,而不是 Math().max。
- 为什么我们使用 Array().slice,而不是 Array.prototype.slice(我注意到 Array.prototype.slice 会起作用,但我试图理解为什么我会使用一个而不是另一个,而不仅仅是在这种情况下,但在任何情况下)
谢谢你。