Discuss / JavaScript / 0作除数时,得到的是 Infinity 而不是 NaN

0作除数时,得到的是 Infinity 而不是 NaN

Topic source

iridiumcao

#1 Created at ... [Delete] [Delete and Lock User]

这是我的实验结果: 2/0 得:Infinity -2/0 得-Infinity 2/(-0) 得-Infinity isNaN(2/0) 得false

这个结果让我比较震惊的,因为看起来它可以得到无穷大值。

亲,不必震惊,简单的说就是,发明Javascript的前辈这样规定的吧了。就像发明算术运算的人规定1+1=2一样。

Javascript中这样规定:

1.JavaScript中的算术运算在溢出(overflow)、下溢(underflow)或被0整除时不准报错。--当数字运算结果超过了JavaScript所能表示的数字极限,结果就为一个特殊的无穷大(正或负infinity)。

2.被0整除不报错返回Infinity(正或负infinity)。

3.0/0返回NaN

想想要是我早出生几千年,说不定现在1+1=3呢,因为我就喜欢这样规定。萌萌哒


  • 1

Reply