前言
js算术运算符中,数值计算中溢出(overflow)、下溢(underflow)或被零整除时不会报错。 溢出:运算时,当数字结果超过了js所能表示的数字上限就会发生溢出,结果是一个特殊的无穷大(infinity)值。 下溢:与溢出同理,当负数的值超过了js所能表示的负数范围就会发生下溢,结果是一个特殊的负无穷大(-infinity)值。 被零整除:被零整除js并不会报错,并返回一个无穷大(infinity)或负无穷大(-infinity)值。
非数字值(NaN)js预定义了这个NaN全局变量,用来表示非数字值。 从数学角度来看,0除以0没有任何意义,js中也是如此。 但不同的是,js中这种整除运算结果是一个非数字(not-a-number)值,用NaN表示。 需要注意的是,无穷大除以无穷大,当任意负数作开方运算或者算术运算符与不是数字或无法转换为数字的操作数一起使用时,它们都会返回NaN。
// 执行这段简单的代码
window.alert(0/0)