两个无穷小相乘的结果

alert(isFinite(Number.MIN_VALUE*Number.MIN_VALUE)) 

返回true,结果位于最大属于最小数之间?
结果不是2.5e-649吗?远小于最小值5e-324啊?

阅读 3.5k
1 个回答

不知道你从哪里看到的Number.MIN_VALUE是无穷小,我们在浏览器控制台打印一下


console.log(Number.MIN_VALUE)
//5e-324

也就是说,事实上,Number.MIN_VALUE= 5e-324。
再来看Number.MIN_VALUE*Number.MIN_VALUE =0,事实上Number.MIN_VALUE是指最小的正数。而isFinite()则是来判断是不是无穷的,如果不是无穷返回true。因此这并没有问题。

参考资料:http://stackoverflow.com/ques...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题