0和NaN

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的判斷...程序竟然可以安然無恙的運行下去,等到出錯,已經離當初的問題點十萬八千里了...
發佈了43 篇原創文章 · 獲贊 0 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章