当我的Math.log
值为零时,它给出的是-Infinity
值。为什么它会给出负的无穷大值?为什么只给予-Infinity,而不是给予+无穷大。为什么只有0值给出了这个结果。
console.log(Math.log(0))
发布于 2018-09-30 00:55:30
从根本上说,因为that's how it's specified
20.2.2.20
Math.log ( x )
返回x的自然对数的依赖于实现的近似值。
如果x小于0,则结果为NaN.
x is +0或-0,结果为-∞.
(我的重点)
但更重要的是,log(x)
as x
接近0
decreases without bound。所以对于规范来说,-Infinity似乎是一个合理的选择。
发布于 2018-09-30 00:54:33
,因为日志0是未定义的,所以他们以这种方式实现了它。
console.log(无穷大);/*无限*/
Console.log(无穷大+ 1);/*无限*/
console.log(Math.pow(10,1000));/*无穷*/
console.log(Math.log(0));/* -Infinity */
console.log(1 /无穷大);/* 0 */
规格:https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Infinity#Beispiele
https://stackoverflow.com/questions/52570477
复制相似问题