javascript中的那些讓人摸不着頭腦的不=

今個咱來盤點盤點javascript中那些讓人摸不着頭腦的不等;

本篇博客略偏學術性研究形式了;除了浮點數運算常見寫;其他的在實際開發中並不多麼實用;

一:首先上場的是NaN:

NaN在js中是一個神(xian)奇(jing)的存在;它用來代表不是數字、不可表示的值;

如果我們理解了它代表的是不可表示的值;那對於下面的代碼打印的false就容易接受了;

NaN == NaN;// false

對於NaN更爲深入的探討可以參考這篇博客;這裏就不再過多介紹了;The Curious Case of JavaScript NaN

二:接着是關於作爲除數的-0;

1/0 == 1/-0;// false

如果我們理解了1/0結果是正無窮大、1/-0結果是負無窮大;那麼也就能接受打印的false了;

三:浮點數的運算;

0.3-0.2 == 0.2-0.1;// false

如果我們理解了0.3-0.2的結果是0.09999999999999998的時候;那麼也就能接受打印的false了;

原因是javascript採用了IEEE-754浮點數表示法;它不可以精準的表示分數;卻不能準確的表示類似0.1這樣的浮點數;

白俊遙博客


本文爲白俊遙原創文章,轉載無需和我聯繫,但請註明來自白俊遙博客http://www.baijunyao.com                        


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章