javascript题目,谁能帮忙分析下isFinite函数,在这里的输出结果?
var number1=Number.MAX_VALUE; var number2=number1+100000; var number3=number1+Number.MAX_VALUE; console.log(isFinite(number2)); //结果为true console.log(isFinite(number3)); //结果为false
我自己分析: javascript中,number最大存储为Number.MAX_VALUE; 为什么number2超出了这个数值 isFinite判断还是为true呢? 而number3的时候,却判断为 false了呢?
求javascript高手,帮小白解析下原理,感激不尽。
5 回复
Number.MAX_VALUE 1.7976931348623157e+308
1.7976931348623157e+308 + 100000 => 1.7976931348623157e+308 + 0.0000000000000000e+308 => 1.7976931348623157e+308
1.7976931348623157e+308 + 1e+292 => 1.7976931348623157e+308 + 0.0000000000000001e+308 => Infinity