NaN是 Not a Number的缩写.用非字符去做一些数学运算,就会得到NaN.
按理它不是number,但在flash里面typeof(NaN),输出却是"number".
记得以前在flashplayer7的时候碰到一个bug:
数组[NaN] == 数组[0]
当时debug了好久....orz.现在8已经没有这个bug了 数组[NaN]会是undefined.
然而,这次又碰到类似的情况了..
本来取正,偶一直用int(a/b);因为觉得Math.floor效率低,而且要多打字.......-_-|
问题就出来了,如果a/b是一个NaN的话.
int(a/b) == 0;
Math.floor(a/b) == undefined;
顺便说一下
a/b>>0 和 int(a/b)结果一样
后来,因为绕过了undefined的判断...程序竟然可以安然无恙的运行下去,等到出错,已经离当初的问题点十万八千里了...
按理它不是number,但在flash里面typeof(NaN),输出却是"number".
记得以前在flashplayer7的时候碰到一个bug:
数组[NaN] == 数组[0]
当时debug了好久....orz.现在8已经没有这个bug了 数组[NaN]会是undefined.
然而,这次又碰到类似的情况了..
本来取正,偶一直用int(a/b);因为觉得Math.floor效率低,而且要多打字.......-_-|
问题就出来了,如果a/b是一个NaN的话.
int(a/b) == 0;
Math.floor(a/b) == undefined;
顺便说一下
a/b>>0 和 int(a/b)结果一样
后来,因为绕过了undefined的判断...程序竟然可以安然无恙的运行下去,等到出错,已经离当初的问题点十万八千里了...