1)为什么function smallest会失败?我认为它符合Mozilla文档https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Math/min中的示例。
function getMin(x,y) { //from Mozilla documentation
return Math.min(x,y)
}
function smallest(array){ //my own experimentation with Resig`s example
return Math.min(array);
}
function largest(array){ //from John Resig`s learning advanced JavaScript #41
return Math.max.apply( Math, array );
}
assert(smallest([0, 1, 2, 3]) == 0, "Locate the smallest value.");
assert(largest([0, 1, 2, 3]) == 3, "Locate the largest value.");发布于 2011-03-25 08:31:45
试一试
function smallest(array) { return Math.min.apply(Math, array); }当作为数组传递时,它将不起作用,因为min在比较之前将其参数转换为数字。除非数组包含看起来像数字的单个元素,否则尝试将数组转换为数字将产生NaN。
所以
Math.min([3]) === 3
Math.min('3') === 3但
isNaN(Math.min([3, 4])) // because,
isNaN(Math.min('3,4')) // which is the same as
isNaN(Math.min(+'3,4')) // which is equivalent to
isNaN(Math.min(NaN))https://stackoverflow.com/questions/5427254
复制相似问题