我在學習Javascript機制,我相信我只是偶然發現了一個isNaN()
的bug。我想我發現了一個bug isNaN()
這裏是測試代碼。
var x = "1000";
Answer = isNaN(x);
console.log(Answer);
控制檯日誌返回「false」,表示Javascript將「1000」看作一個數字。我認爲" "
裏的任何東西都被認爲是一個字符串。顯然不總是。如果我錯了,也許有人有一些洞察力,可以讓我直觀。
我在學習Javascript機制,我相信我只是偶然發現了一個isNaN()
的bug。我想我發現了一個bug isNaN()
這裏是測試代碼。
var x = "1000";
Answer = isNaN(x);
console.log(Answer);
控制檯日誌返回「false」,表示Javascript將「1000」看作一個數字。我認爲" "
裏的任何東西都被認爲是一個字符串。顯然不總是。如果我錯了,也許有人有一些洞察力,可以讓我直觀。
顯然,這是一個功能,而不是一個錯誤。
當
isNaN
函數的參數不是Number類型時,該值首先被強制爲一個Number。然後測試結果值以確定它是否爲NaN
。
來源:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/isNaN
另一個值得注意的區別是:'Number.isNaN'不會執行這種強制操作。 'isNaN('A')=== true',而'Number.isNaN('A')=== false'。 – gyre
楠至於浮點數的表示非常特定的含義。 isNaN只爲此測試。 – Thilo
Dangit謝謝!我搜索了isNaN,並且該線程沒有出現。該線程有答案。 – DR01D
我還沒有閱讀這篇文章,但我很確定,javascript將字符串識別爲數字。 – alexr101