为什么Math.min()返回正无穷大,而Math.max()返回负无穷大? [英] Why does Math.min() return positive infinity, while Math.max() returns negative infinity?

查看:46
本文介绍了为什么Math.min()返回正无穷大,而Math.max()返回负无穷大?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我在javascript数学最小值和最大值函数的参数中键入数组时,它返回正确的值:

console.log( Math.min( 5 ) ); // 5
console.log( Math.max( 2 ) ); // 2

var array = [3, 6, 1, 5, 0, -2, 3];
var minArray = Math.min( array ); // -2
var maxArray = Math.max( array ); // 6

但是,当我使用不带参数的函数时,它返回错误的答案:

console.log( Math.min() ); // Infinity
console.log( Math.max() ); // -Infinity

此错误返回False:

console.log( Math.min() < Math.max() );

它为什么这样做?

推荐答案

当然会,因为Math.min的起始号应该是Infinity。如果列表中没有更小的数字,则所有小于正无穷大的数字都应该是列表中的最小数字。

Math.max相同;如果不大于负无穷大,则所有大于负无穷大的数字都应该是最大的。

那么对于您的第一个示例:

Math.min(5)其中5小于正无穷大(Infinity),将返回5

更新

使用数组参数调用Math.min()Math.max可能不是在所有平台上都有效。您应该改为执行以下操作:

Math.min.apply(null, [ 1, 2, 3, 4 , 5 ]);

其中第一个参数是作用域参数。因为Math.min()Math.max()是静电函数,所以我们应该将作用域参数设置为NULL。

这篇关于为什么Math.min()返回正无穷大,而Math.max()返回负无穷大?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆