当前位置: 首页 > 工具软件 > Infinity.js > 使用案例 >

Js数字型范围,Js能表示的最大和最小值,Number.NEGATIVE_INFINITY 和 -Infinity,Number.POSITIVE_INFINITY和Infinity

赵志
2023-12-01

前言

今天刷Leetcode时,一道题的一部分需要找数组的最大值,初始值我想赋一个Js中能表示的最小值,打出了Number之后,发现后边提示了Number.MIN_VALUE,以为是Js能表示的最小值就用了,结果出现了问题,查了一下才发现,Number.MIN_VALUE并不是Js能表示的最小的值,而是Js能表示的最小的正值,趁着这个机会,重新学习和总结了一下Js数字的最大最小值以及无穷大与无穷小的相关知识。

Js数字型范围(Js能表示的最大和最小值)

最大值

Number.MAX_VALUE,这个值为: 1.7976931348623157e+308,即Js能表示的最大的正数

最小值

-Number.MAX_VALUE,这个值为 -1.7976931348623157e+308,即Js能表示的最小的负数

正数的最小值

Number.MIN_VALUE,这个值为:5e-32

无穷大与无穷小

  • Number.POSITIVE_INFINITYInfinity 都代表无穷大,是一个大于任何数的数值, IEEE 754 标准规定,大于等于1.7976931348623158e+308 的数被认为是无穷大,注意这个是最后一位是8,比Number.MAX_VALUE大很多,即并不是比Number.MAX_VALUE大就是无穷大
  • Number.POSITIVE_INFINITY-Infinity 都代表无穷小,是一个小于任何数的数值,同理小于等于-1.7976931348623158e+308 的数被认为是无穷小,即并不是比-Number.MAX_VALUE小就是无穷小
    var num1 = Number.MAX_VALUE + 100;
    var num2 = Number.MAX_VALUE * 2;
    console.log(Number.isFinite(num1)); //true
    console.log(Number.isFinite(num2)); //false
    

Number.POSITIVE_INFINITY/NEGATIVE_INFINITY和Infinity

Number.POSITIVE_INFINITY和Number.NEGATIVE_INFINITY 是Number类的静态属性,而Infinity是一个全局属性,即window对象的属性,在之前的ECMA规范中,Infinity的值是可以修改的。使用无穷大时,尽量使用Number.POSITIVE_INFINITY和Number.NEGATIVE_INFINITY

 类似资料: