NaN是什麼?怎麼可靠的測試乙個值是NaN

2021-10-01 23:10:45 字數 1032 閱讀 1357

nan全稱是not-a-number(不是乙個數字),我們可以通過number.nan來獲得乙個nan,在型別轉換失敗時,我們常常會得到乙個nan,需要注意的是,nan是js中唯一乙個自身不相等的存在

number.nan //nan

nan === nan //false

那為什麼nan!==nan?

nan 只是number 的乙個靜態屬性

number('echo') //nan

number('undefined') //nan

number(undefined) //nan

當number提供的型別轉換方法在解析乙個值卻無法返回數字時:

number('echo') //nan

parseint('echo123') //nan

parseint('123echo') //123

parsefloat('時間跳躍123.1') //nan

parsefloat('123.1時間跳躍')

計算中使用-  /   *運算子,參與計算的值轉換型別失敗時:

- '聽風是風' //nan

* '123時間跳躍' //nan

/ 'echo123' //nan

特別注意,兩個數字0相除也會得到nan

0 / 0 //nan
nan是唯一乙個與自身不相等的特殊值,如果你覺得number.isnan存在相容問題,也可以利用這個特點自己定義驗證方法:

const isnan = (value) => value !== value;

isnan('聽風是風'); //false

isnan(123); //false

isnan(nan); //true

怎麼管理乙個測試團隊

大家都知道的 乙個入行一年半載的測試工程師,都會知道基本的測試流程是 需求評審 測試排期 用例編寫,用例評審,提供冒煙case 用例執行,提交bug,回歸測試 相容性測試 異常測試 上線。發版本的流程涉及到更多的內容 除了上面的都需要有,發版的節奏 穩定性測試 效能測試 眾測體驗 回歸測試,打包發版...

乙個比喻講明Docker是什麼

之前一直聽運維的同事講docker,說弄個docker映象,打包些應用什麼的,還有時不時地在一些帖子裡見到過關於docker的三言兩語,然後自己也自我感覺良好的把它總結歸納了一下認為 往docker裡面打包一大堆的應用,然後我就可以拿著這個docker,到處執行了 就因為這,還鬧出過笑話,所以啊,是...

測試乙個紙杯需要考慮什麼?

如何測試乙個紙杯?功能度 用水杯裝水看漏不漏 水能不能被喝到 安全性 杯子有沒有毒或細菌 可靠性 杯子從不同高度落下的損壞程度 可移植性 杯子在不同的地方 溫度等環境下是否都可以正常使用 相容性 杯子是否能夠容納果汁 白水 酒精 汽油等 易用性 杯子是否燙手 是否有防滑措施 是否方便飲用 使用者文件...