经典面试题(6):NaN 是什么?如何测试一个值是否等于 NaN ?
NaN 屬性代表一個(gè)“不是數(shù)字”的值。這個(gè)特殊的值是因?yàn)檫\(yùn)算不能執(zhí)行而導(dǎo)致的,不能執(zhí)行的原因要么是因?yàn)槠渲械倪\(yùn)算對(duì)象之一非數(shù)字。例如: "abc" / 4,要么是因?yàn)檫\(yùn)算的結(jié)果非數(shù)字。例如:除數(shù)為零。
雖然這看上去很簡(jiǎn)單,但 NaN 有一些令人驚訝的特點(diǎn),如果你不知道它們的話(huà),可能會(huì)導(dǎo)致令人頭痛的bug。?
首先,雖然 NaN 意味著“不是數(shù)字”,但是它的類(lèi)型,不管你信不信,是 Number:
// logs "true"
此外, NaN 和任何東西比較,甚至是它自己本身,結(jié)果是false:
// logs "false"
一種半可靠的方法來(lái)測(cè)試一個(gè)數(shù)字是否等于 NaN,是使用內(nèi)置函數(shù) isNaN(),但即使使用 isNaN() 依然并非是一個(gè)完美的解決方案。?
一個(gè)更好的解決辦法是使用 value !== value,如果值等于NaN,只會(huì)產(chǎn)生true。因?yàn)橹挥蠳aN 這貨,才會(huì)自己不等于自己。
熱門(mén)文章
原創(chuàng)教程原創(chuàng)教程:
附加習(xí)題:
職場(chǎng)焦慮:
感到迷茫:
培訓(xùn)出身:
培訓(xùn)費(fèi)用:
搞笑黑話(huà):
職業(yè)自由:
職場(chǎng)形象:
合作推廣分割線(xiàn)
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的经典面试题(6):NaN 是什么?如何测试一个值是否等于 NaN ?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 科大星云诗社动态20210210
- 下一篇: 你我是怎么一天天废掉的