JavaScript中 的NaN,神奇的存在 !

2021-09-25 00:12:57 字數 873 閱讀 8143

nan全稱是(not a number)是js中奇妙的存在,一般情況下只出現在number方法的返回值中。雖然是 not a number 的意思,但是它js七大資料型別中的number型別。

* nan是number型別 

var a = number('abc');

alert(a);

//返回值是nan

alert(typeof(a));

//返回值是number

*nan自己都不等於自己

var a =  number('abc');

console.log(a===a);

//結果是false

*通過boolean()方法可以將nan轉化為 false 或者說nan的布林結果

是false

var a = number('100px');

console.log(boolean(a));

//結果為false

isnan: is not a number,就是判斷是不是數字,它的返回值是 ture 或者是false。其實它呼叫的是number方法,如果number的返回值是nan的話,那麼isnan()的返回值則是ture,否則是false,

alert(isnan('a'));

//結果是ture

就是先呼叫number('a'),然後再用返回值與nan作比較,如下:

alert(isnan('520'));

//結果是false

即便()裡面是帶引號的字元型別520,但是先呼叫了number方法那個變成了number型別的520。

在JavaScript中NaN為什麼不等於NaN

nan 即非數值 not a number 是乙個特殊的數值,這個數值用於表示乙個本來要返回數值的運算元未返回數值的情況 這樣就不會丟擲錯誤了 任何與nan進行運算的結果均會為nan,nan與自身不相等 nan不與任何值相等 nan 屬性是代表非數字值的特殊值。該屬性用於指示某個值不是數字 nan ...

python中nan的比較

在用numpy.sum等方法計算列表時,當列表中無目標元素,得到的為空值nan。然而不同於none,它無法用 進行判斷。nan not a number 在數學表示上表示乙個無法表示的數,這裡一般還會有另乙個表述inf,inf和nan的不同在於,inf是乙個超過浮點表示範圍的浮點數 其本質仍然是乙個...

pandas中關於nan的處理

在pandas中有個另類的存在就是nan,解釋是 not a number,不是乙個數字,但是它的型別確是乙個float型別。numpy中也存在關於nan的方法,如 np.nan 對於pandas中nan的處理,簡單的說有以下幾個方法。檢視是否是nan,s1.isnull 和 s1.notnull ...