<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ### 1. Number.isFinite(), Number.isNaN() ES6 在Number對象上,新提供了Number.isFinite()和Number.isNaN()兩個方法。 Number.isFinite()用來檢查一個數值是否為有限的(finite),即不是Infinity。 ~~~ Number.isFinite(15); // true Number.isFinite(0.8); // true Number.isFinite(NaN); // false Number.isFinite(Infinity); // false Number.isFinite(-Infinity); // false Number.isFinite('foo'); // false Number.isFinite('15'); // false Number.isFinite(true); // false ~~~ 注意,如果參數類型不是數值,Number.isFinite一律返回false。 Number.isNaN()用來檢查一個值是否為NaN。 ~~~ Number.isNaN(NaN) // true Number.isNaN(15) // false Number.isNaN('15') // false Number.isNaN(true) // false Number.isNaN(9/NaN) // true Number.isNaN('true' / 0) // true Number.isNaN('true' / 'true') // true ~~~ 如果參數類型不是NaN,Number.isNaN一律返回false。 它們與傳統的全局方法isFinite()和isNaN()的區別在于,傳統方法先調用Number()將非數值的值轉為數值,再進行判斷,而這兩個新方法只對數值有效,**Number.isFinite()對于非數值一律返回false, Number.isNaN()只有對于NaN才返回true,非NaN一律返回false。** ~~~ isFinite(25) // true isFinite("25") // true Number.isFinite(25) // true Number.isFinite("25") // false isNaN(NaN) // true isNaN("NaN") // true Number.isNaN(NaN) // true Number.isNaN("NaN") // false Number.isNaN(1) // false Number.parseInt(), Number.parseFloat() ~~~ ES6 將全局方法parseInt()和parseFloat(),移植到Number對象上面,行為完全保持不變。 ~~~ // ES5的寫法 parseInt('12.34') // 12 parseFloat('123.45#') // 123.45 // ES6的寫法 Number.parseInt('12.34') // 12 Number.parseFloat('123.45#') // 123.45 ~~~ 這樣做的目的,是逐步減少全局性方法,使得語言逐步模塊化。 ~~~ Number.parseInt === parseInt // true Number.parseFloat === parseFloat // true Number.isInteger() Number.isInteger()用來判斷一個數值是否為整數。 Number.isInteger(25) // true Number.isInteger(25.1) // false ~~~ JavaScript 內部,整數和浮點數采用的是同樣的儲存方法,所以 25 和 25.0 被視為同一個值。 ~~~ Number.isInteger(25) // true Number.isInteger(25.0) // true ~~~ 如果參數不是數值,Number.isInteger返回false。 ~~~ Number.isInteger() // false Number.isInteger(null) // false Number.isInteger('15') // false Number.isInteger(true) // false ~~~ 注意,由于 JavaScript 采用 IEEE 754 標準,數值存儲為64位雙精度格式,數值精度最多可以達到 53 個二進制位(1 個隱藏位與 52 個有效位)。如果數值的精度超過這個限度,第54位及后面的位就會被丟棄,這種情況下,Number.isInteger可能會誤判。 `Number.isInteger(3.0000000000000002) // true` 上面代碼中,Number.isInteger的參數明明不是整數,但是會返回true。原因就是這個小數的精度達到了小數點后16個十進制位,轉成二進制位超過了53個二進制位,導致最后的那個2被丟棄了。 類似的情況還有,如果一個數值的絕對值小于Number.MIN_VALUE(5E-324),即小于 JavaScript 能夠分辨的最小值,會被自動轉為 0。這時,Number.isInteger也會誤判。 ~~~ Number.isInteger(5E-324) // false Number.isInteger(5E-325) // true ~~~ 上面代碼中,5E-325由于值太小,會被自動轉為0,因此返回true。 總之,如果對數據精度的要求較高,不建議使用Number.isInteger()判斷一個數值是否為整數。
                  <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>

                              哎呀哎呀视频在线观看