如何封装一个验证是否是数字的函数格式,如何封装一个验证是否是数字的函数表示
chanong
|点击上方蓝色文字即可关注“小郑在做事”,每天都可以学**知识、了解问题。
判断一个东西是否是数字是我们日常工作中经常遇到的事情,所以如果我们不多加注意的话,我们可能一时无法写出完美的函数。今天我将向大家展示如何理解和封装一个判断数字是否为数字的函数。如果你明白了,记住了,以后就不用担心了。
做一个猜想:
console.log(false NaN) 返回什么?答案不正确
console.log(NaN false) 返回什么?答案是NaN
首先,我们来了解一些功能。
1. 定义isNaN()。该函数用于检查参数是否为非数字值。
说明:如果参数值为NaN 或非数字值(例如字符串、对象或未定义),则返回true;否则返回false。
举几个例子:
console.log(isNaN(123)) //false
console.log(isNaN(true)) //false
console.log(0) //错误
console.log('小郑') //true
最后一行是一个字符串(即非数字值),因此它打印true。
2. 定义isFinite(number)。该函数用于检查参数是否无限。
解释一下,如果number 是(或可以转换为)有限数,则返回true。否则,如果number 为NaN(不是数字)或正无穷大或负无穷大,则返回false。
让我们用一个例子进一步解释一下。也就是说,isFinite(true)/isFinite(123) 返回true。
返回的字符串必须为false。例如,
console.log('小正子') //false
console.log('22CCC') //false
3. 定义parseFloat()。该函数可以解析一个字符串并返回一个浮点数(如2.3)。
说明: 该函数指定字符串的第一个字符是否为数字。如果是,则解析该字符串,直到到达数字末尾,然后将该数字作为数字而不是字符串返回。
特别注意:如果字符串的第一个字符无法转换为数字,parseFloat()将返回NaN,如下所示。
console.log(parseFloat('30 年')) //30
console.log(parseFloat('years 30')) //NaN
console.log(parseFloat(true)) //NaN
4、封装一个数字判断函数基于以上知识,我们来封装一个判断数字是否为有限数的函数。
isFinite 无法排除参数为true 的情况。如果参数为true,parseFloat 返回false。然后使用isNaN函数的反函数来判断它是否是一个数字。除非参数为true。
所以最后你要做的就是封装一个函数来判断它是否是一个数字。如下:
函数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 函数,以便您可以在将来的项目中使用它。很方便。如果不明白,请多看几遍上面的解释和例子。








