<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ### number類型 * 浮點類型 * 數值范圍 * NaN * 數值轉換 * 數值格式化 * * * * * #### 浮點類型 > 所謂浮點類型,就是該數值中含有小數點,并且小數點后面至少有一位數字,但小數點前面可以沒有整數(此方法可行,但不推薦,因為在編碼中沒有任何意義),如下所示: ~~~ let q = 1.1 console.log(q) // 1.1 let w = 0.1 console.log(w) // 0.1 let e = .1 console.log(e) // 0.1 ~~~ > 由于保存浮點數值所需的內存空間是數值類型的兩倍,所以ECMAScript會在適當的時機將浮點類型轉為整數,比如小數點后面沒有數字的時候或者當小數點后面的數字為0的時候。 > 同時需要注意,由于計算機二進制與十進制精度問題,所有的計算機語言的浮點類型都會有計算誤差,所以建議永遠不要去測試或者深度使用浮點值進行編碼 #### 數值范圍 > 由于內存的限制,ECMAScript并不能保存世界上所有的數值,在大多數javascript運行環境中,ECMAScript能表示的最小數值都保存在Number.MIN_VALUE中,這個值是5e-324,在大多數javascript運行環境中,能夠表示的最大值保存在Number.MAX_VALUE中,這個值是1.7976931348623157e+308。 #### NaN > NaN即非數值(Not a Number),是一個特殊值,這個數值用語表示一個本來要返回數值的操作未返回數值的情況,例如在編程語言中任何數值除以非數值都會導致這種錯誤,從而停止代碼執行,但在ECMAScript中,任何數值除以非數值的都會返回NaN,因此不會影響代碼執行。 > > NaN本身有兩個特點: 首先,任何涉及NaN的操作都會返回NaN,如下所示: ~~~ console.log(NaN/1) // NaN ~~~ >其次,NaN與任何值都不相等,包括他自己,因此ECMAScript定義了isNaN()函數,這個函數接受一個參數,這個參數可以是任何類型,而這個函數會幫我們判斷這個參數是否“**不是數值**”,isNaN()在接受到一個參數后會嘗試將這個參數轉為數值,之后再判斷這個參數轉換后值是否是數值,如果不是數值它將返回true,如果是數值將會返回false,如下所示: ~~~ console.log(isNaN(10)) // false console.log(isNaN("10")) // false console,log(isNaN(NaN)) // true console.log(isNaN("blue")) //true ~~~ #### 數值轉換 > 有三個函數可以將非數值轉換為數值:Number() , parseInt() , parseFloat()。 > 由于Number()函數在轉換字符串時比較復雜而且操作不合理,所以推薦使用parseInt()函數來替換Number()函數, parseInt()函數具體使用方式如下: ~~~ let num1 = parseInt("458456hgg") console.log(num1) //458456 let num2 = parseInt("") console.log(num2) //NaN let num3 = parseInt(22.5) console.log(num3) //22 let num4 = parseInt("10") console.log(num4) // 10 (十進制) let num5 = parseInt("0xa") console.log(num5) // 10(十六進制) let num6 = parseInt("070") console.log(num6) // 56 (八進制) ~~~ > 如上所示, parseInt() 在轉換字符串時會判斷字符串中是否含有數字,如果是數字與字符串的拼接,那么它將提取參數中數字部分進行轉換,如果參數是空字符串,那么將返回NaN,如果參數含有小數點,那么將提取小數點前的整數進行返回,如果參數是二進制/八進制/十進制/十六進制的字符,那么將直接返回參數值。 > 但是大多時候我們都是想要將參解析為十進制的數值,為避免parseInt()解析錯誤,我們可以微 parseInt() 傳入第二個參數,指定它的解析類型,代碼如下: ~~~ let num1 = parseInt("10",2) //解析為二進制 console.log(num1) // 2 let num2 = parseInt("10",8) //解析為八進制 console.log(num2) // 8 let num3 = parseInt("10",10) //解析為十進制 console.log(num3) // 10 let num4 = parseInt("10",16) //解析為十六進制 console.log(num4) // 16 ~~~ > 強烈建議大家在使用parseInt()時將第二個參數設定為10 > parseFloat()與parseInt()類似,也是從參數的第一個字符串開始解析每個字符,一直解析到末尾,或者解析道遇到一個無效的浮點數字字符為止,也就是說參數字符串中第一個小數點是有效的,第二個小數點是無效的,因此第二個小數點后面的字符串將被忽略,代碼如下: ~~~ let num1 = parseFloat("123rtirt") console.log(num1) // 123 let num2 = parseFloat("0xa") console.log(num2) // 0 let num3 = parseFloat("12.1") console.log(num3) // 12.1 let num4 = parseFloat("23.24.25.26") console.log(num4) // 23.24 let num5 = parseFloat("032.1") console.log(num5) // 32.1 ~~~ > 在ES6中提供了Number.isInteger()用來判斷一個值是否為整數。需要注意的是,在JavaScript內部,整數和浮點數是同樣的儲存方法,所以3和3.0被視為同一個值。代碼如下: ~~~ Number.isInteger(25) // true Number.isInteger(25.0) // true Number.isInteger(25.1) // false Number.isInteger("15") // false Number.isInteger(true) // false ~~~ #### 數值格式化 >
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看