Why does Math.min() return positive infinity, while Math.max() returns negative infinity?(为什么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()返回负无穷大?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:为什么Math.min()返回正无穷大,而Math.max()返回负无穷大?


基础教程推荐
- 在for循环中使用setTimeout 2022-01-01
- 角度Apollo设置WatchQuery结果为可用变量 2022-01-01
- 动态更新多个选择框 2022-01-01
- Karma-Jasmine:如何正确监视 Modal? 2022-01-01
- 在 JS 中获取客户端时区(不是 GMT 偏移量) 2022-01-01
- 我什么时候应该在导入时使用方括号 2022-01-01
- 有没有办法使用OpenLayers更改OpenStreetMap中某些要素 2022-09-06
- 响应更改 div 大小保持纵横比 2022-01-01
- 悬停时滑动输入并停留几秒钟 2022-01-01
- 当用户滚动离开时如何暂停 youtube 嵌入 2022-01-01