如何封裝一個驗證是否是數(shù)字的函數(shù)格式,如何封裝一個驗證是否是數(shù)字的函數(shù)表示
chanong
點擊上方藍色文字即可關注“小鄭在做事”,每天都可以學**知識、了解問題。
判斷一個東西是否是數(shù)字是我們日常工作中經常遇到的事情,所以如果我們不多加注意的話,我們可能一時無法寫出完美的函數(shù)。今天我將向大家展示如何理解和封裝一個判斷數(shù)字是否為數(shù)字的函數(shù)。如果你明白了,記住了,以后就不用擔心了。
做一個猜想:
console.log(false NaN) 返回什么?答案不正確
console.log(NaN false) 返回什么?答案是NaN
首先,我們來了解一些功能。
1. 定義isNaN()。該函數(shù)用于檢查參數(shù)是否為非數(shù)字值。
說明:如果參數(shù)值為NaN 或非數(shù)字值(例如字符串、對象或未定義),則返回true;否則返回false。
舉幾個例子:
console.log(isNaN(123)) //false
console.log(isNaN(true)) //false
console.log(0) //錯誤
console.log('小鄭') //true
最后一行是一個字符串(即非數(shù)字值),因此它打印true。
2. 定義isFinite(number)。該函數(shù)用于檢查參數(shù)是否無限。
解釋一下,如果number 是(或可以轉換為)有限數(shù),則返回true。否則,如果number 為NaN(不是數(shù)字)或正無窮大或負無窮大,則返回false。
讓我們用一個例子進一步解釋一下。也就是說,isFinite(true)/isFinite(123) 返回true。
返回的字符串必須為false。例如,
console.log('小正子') //false
console.log('22CCC') //false
3. 定義parseFloat()。該函數(shù)可以解析一個字符串并返回一個浮點數(shù)(如2.3)。
說明: 該函數(shù)指定字符串的第一個字符是否為數(shù)字。如果是,則解析該字符串,直到到達數(shù)字末尾,然后將該數(shù)字作為數(shù)字而不是字符串返回。
特別注意:如果字符串的第一個字符無法轉換為數(shù)字,parseFloat()將返回NaN,如下所示。
console.log(parseFloat('30 年')) //30
console.log(parseFloat('years 30')) //NaN
console.log(parseFloat(true)) //NaN
4、封裝一個數(shù)字判斷函數(shù)基于以上知識,我們來封裝一個判斷數(shù)字是否為有限數(shù)的函數(shù)。
isFinite 無法排除參數(shù)為true 的情況。如果參數(shù)為true,parseFloat 返回false。然后使用isNaN函數(shù)的反函數(shù)來判斷它是否是一個數(shù)字。除非參數(shù)為true。
所以最后你要做的就是封裝一個函數(shù)來判斷它是否是一個數(shù)字。如下:
函數(shù)isNumber(n) {
返回!isNaN(parseFloat(n) isFinite(n))
}
檢測結果:
console.log(isNumber(111)) //true
console.log(isNumber('222CC')) //true
console.log(isNumber('DD222CC')) //false
console.log(isNumber(true)) //false
最后總結:
理解了這一點后,請記住isNumber 函數(shù),以便您可以在將來的項目中使用它。很方便。如果不明白,請多看幾遍上面的解釋和例子。








