W3Schools 的一些定义:
Infinity:表示正/负无穷大的数值
POSITIVE_INFINITY 属性表示无穷大,在溢出时返回。NEGATIVE_INFINITY,表示负无穷大(溢出时返回)。
NaN 属性表示“非数字”值。此属性指示值不是合法数字。
isFinite() 函数确定数字是否是有限的合法数字。如果值为 +infinity、-infinity 或 NaN,则此函数返回 false。
一些测试:
var n1 = 1/0;
var n2 = 0/0;
var n3 = (Number.MAX_VALUE)*2; //overflow
var b1 = Number.POSITIVE_INFINITY == n1;
var b2 = Number.POSITIVE_INFINITY == n2;
var b2n = Number.NEGATIVE_INFINITY == n2;
var b3 = Number.POSITIVE_INFINITY == n3;
var msg = "n1=" + n1 + ", n2=" + n2 + ", n3=" + n3;
msg += "<br/> n1 Is POSITIVE_INFINITY=" + b1;
msg += "<br/> n2 Is POSITIVE_INFINITY=" + b2;
msg += "<br/> n2 Is POSITIVE_INFINITY=" + b2n;
msg += "<br/> n3 Is POSITIVE_INFINITY=" + b3;
msg += "<br/> n1 IsFinite=" + isFinite(n1);
msg += "<br/> n2 IsFinite=" + isFinite(n2);
msg += "<br/> n3 IsFinite=" + isFinite(n3);
msg += "<br/> n1 + n1 =" + (n1 + n1) ;
msg += "<br/> n1 - n1 =" + (n1 - n1) ;
msg += "<br/> n2 + n1 =" + (n2 + n1) ;
document.write(msg);
节目
n1=Infinity, n2=NaN, n3=Infinity
n1 Is POSITIVE_INFINITY=true
n2 Is POSITIVE_INFINITY=false
n2 Is POSITIVE_INFINITY=false
n3 Is POSITIVE_INFINITY=true
n1 IsFinite=false
n2 IsFinite=false
n3 IsFinite=false
n1 + n1 =Infinity
n1 - n1 =NaN
n1 - n1 =NaN