JS 轉換數據為數字的方法有三類五種,包括:
•強制轉換,JS 的基本數據類型都這以這樣轉換成對應的類型(Number(v))
•原生函數,這兩個函數有不一樣的結果(parseInt(v,radix)、parseFloat(v))
•隱式轉換,在執行的時候 JS 會轉換變量為對應類型(位計算,數學計算)
轉換的原值也可以簡單分為三類:對象、特殊值、字符串。
JS 中的特殊值包括以下幾個。
•undefined,未定義,當變量聲明但沒賦值或者一個對象不存在的屬性的值就是這個了。
•NaN/Infinity,這是兩個頑固的“數字”(typeof == number),分別表示非數字和無限大的數。貌似沒什么用,轉換成數字失敗的話,返回值基本是NaN。
•null,當成零值用的對象(typeof == object)。
•true/false,布爾值,表示真、假,等價于1/0。
對于字符串,根據內容還可以進行細分。根據 JS 數字表達式,可以分為合法和非法。合法的數字有幾種不同的分類方法:
•符號:正號、負號、無符號
•進制:八進制、十進制、十六進制
•科學記數法
•小數、整數,以及小數的簡寫
根據上面的分類,我制作了一個 Demo,用來測試不同方法、數值轉換后的結果。下面的截圖是在 chrome 下的轉換。
新聞熱點
疑難解答
圖片精選