number(數字類型)


數字類型包含:常規數字、NaN

1、NaN

  NaN:not  a  number(不是一個數,但是它屬於數字類型)

  NaN和任何值(包含自己)都不相等,NaN != NaN, 所以我們不能用相等的方式判斷是否為有效數字

2、isNaN

  isNaN:檢測一個值是否為非有效數字,如果不是有效數字返回true,反之為有效數字返回false

  isNaN(10)  // false

  isNaN('aa')  // true

  isNaN('10')  // false

  在使用isNaN進行檢測的時候,首先會驗證檢測的值時候為數字類型,如果不是,先基於Number()這個方法,把值轉換成數字類型,然后再檢測

3、Number把其他類型值轉換為數字類型

  (1)通過Number把字符串轉為數字,只要字符串中包含任意一個非有效數字字符(第一個點除外)結果都是NaN;空字符串會轉化為數字零

    Number("12.5")  // 12.5

    Number("12.5px")  // NaN

    Number("12.5.5")  // NaN

    Number("")  // 0

  (2)把布爾值轉為數字

    Number(true)  // 1

    Number(false)  // 0

  (3)把null和undefined轉為數字

    Number(null)  // 0

    Number(undefined)  //NaN

  (4)把引用類型數據轉換為數字,是先把他基於toString方法轉換為字符串,然后再轉換為數字

    Number({name: '10'})  // NaN    

    {name: "10"}.toString()  //  "[object Object]"

    Number([ ])  // 0 

    Number([12, 23])  // NaN

     [ ].toString()  // ""

    [12, 23].toString()  // "12,23"

4、parseInt和parseFloat把字符串轉成數字

  也是轉換為數字的方法,如果參數不是字符串,會先轉成字符串,對於字符串來說,它是從左到右依次查找有效數字字符,直到遇到非有效數字字符,停止查找,把找到的當做數字返回

  parseInt("12.5px")  // 12

  parseFloat("12.5px")  // 12.5

  parseFloat(true)  // NaN

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM