#yyds干货盘点#JavaScript数值范围

Posted 李游LEO

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了#yyds干货盘点#JavaScript数值范围相关的知识,希望对你有一定的参考价值。


#yyds干货盘点#JavaScript数值范围_javascript

javascript中的number数值并不是拥有无限的,而是有限的,因为内存的限制,所以ECMAScript本身被限制了,不过虽然被限制了,但是在JavaScript中数字的范围也足够我们使用了。ECMAScript中的最小数值被保存在了Number.MIN_VALUE中,一般正常的浏览器中,这个值显示为5e-324,在早期内存的限制,比这个数字更小一点;能够表示最大的数值被保存在了Number.MAX_VALUE中,同样因为内存的原因,早期的浏览器显示的数字也不相同,不过目前的浏览器一般情况下是1.7976931348623157e+308。

#yyds干货盘点#JavaScript数值范围_javascript_02

因为内存有限制的原因,所以计算如果超出JavaScript数值,那么这个数值会自动的转化成特殊的Infinity(无穷)值。当然,这个Infinity值也有负数,如果是负无穷则会是-Infinity(负无穷),所以在JavaScript中,除了正常的数字之外,还存在着两个特殊的英文值,一个是正无穷(Infinity),一个为负无穷(-Infinity)。

不过值得注意的一点是,如果使用了正无穷或者负无穷的话,那么其将无法参与下一次的计算,因为Infinity本身是不能参与计算的值。不过JavaScript中给提供了一个isFinite()函数,这个函数可以来判断是不是有穷的,也就是在-Infinity到Infinity之间可以显示的数字。如果函数的参数位于最小与最大之前,那么就会返回true,其余会返回false,例如:

#yyds干货盘点#JavaScript数值范围_ecmascript_03

虽然在真正的计算中出现Infinity的机会非常少,但是一旦出现会导致整套计算出现问题,所以在执行极大或者极小的计算时,为了防止出现意外发生,检测监控也是必须的。


以上是关于#yyds干货盘点#JavaScript数值范围的主要内容,如果未能解决你的问题,请参考以下文章

#yyds干货盘点#JavaScript - 浮点数值

#yyds干货盘点#JavaScript数组去重方法

#yyds干货盘点#JS两个大数相加

#yyds干货盘点# 解决剑指offer:数据流中的中位数

#yyds干货盘点# Java入门王者万字笔记(下),建议收藏!

Flutter组件ValueListenableBuilder使用#yyds干货盘点#