js代碼中0 出現NaN

無意中點擊項目,發現一個問題,關於項目中有一個值是需要計算得出這個值的然後保留3位小數

我直接用a/b 然後用了toFixed(3)這個方法,然後對等於0 的情況做了處理讓值直接等於0 

然後,一直也沒發現問題,剛纔忽然出現了NaN的情況,檢測了一下字段

發現了問題,以下總結以下出現問題的情況

    console.log(0/0) NaN
    console.log(0/1) 0
    console.log(1/0) Infinity
我的問題就是第一種,把0 作爲了除數 導致問題的出現

Infinity 這是一種無窮的狀態

 

解決完問題後,決定記錄一下,因爲老是忽略關於0 的情況,下面就記錄一下

1:非數字的運算

5 - 'a' // NaN
在計算的時候把a 解析爲數字,但是a 不是數字所以出現NaN

2: 一些數學函數的運算

Math.acos(x)  x  -1 到 1 的一個數爲參數,返回一個 0 到 pi (弧度)的數值。如果傳入的參數值超出了限定的範圍,將返回 NaN

 
Math.acos(-2);  // NaN
Math.acos(-1);  // 3.141592653589793
Math.acos(0);   // 1.5707963267948966
Math.acos(0.5); // 1.0471975511965979
Math.acos(1);   // 0
Math.acos(2);   // NaN

Math.sqrt(-1) //NaN  返回正確舍入的一個double值的正平方根 所以如果爲負值爲NaN

3: 0/0 這種情況就是我上訴的問題

嗯~~~在總結一些類型爲false 的情況吧!

undefined(未定義,找不到值時出現)

null(代表空值)

false(布爾值的false,字符串"false"布爾值爲true)

0(數字0,字符串"0"布爾值爲true)

NaN(無法計算結果時出現,表示"非數值";但是typeof NaN==="number")

""(雙引號)或''(單引號) (空字符串,中間有空格時也是true)

 

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