![344762b81329ac8b9825d300f99d0219.png](https://i-blog.csdnimg.cn/blog_migrate/ba57f3ac1b045c3f6d9f45b5d5864fb8.jpeg)
数值范围
由于内存的限制,ECMAScript并不能保存世界上所有的数值。ECMAScript能够保存的最小数值保存在Number.MIN_VALUE中,在大多数浏览器中,这个值是5e-324。
能够表示的最大数值保存在Number.MAX_VALUE中,在大多数浏览器中,这个数值将被自动转换成特殊的Infinity值。
具体来说,如果这个数值是负数,则会被转换成-Infinity(负无穷),如果这个数值是正数,则会被转换成Infinity(正无穷)。
如果某次计算返回了正或负的Infinity值,那么该值将无法继续参与下一次的计算,因为Infinity不是能够参与计算的数值。要想确定一个数值是不是有穷的,可以使用isFinite()函数,这个函数在参数谓语最小与最大数值之间时会返回true,如下例子所示:
var result = Number.MAX_VALUE + Number.MAX_VALUE;alert(isFinite(result)); //false
访问Number.NEGATIVE_INFINITY和Number.POSITIVE_INFINITY也可以得到负和正的Infinity的值。
尽管在计算中很少出现某些值超出标识范围的情况,但在执行极小或极大数值的计算时,检测监控这些值是必要的。