我想要一个简洁的表达式来告诉我给定的值是整数还是浮点数.当提供输入值NaN或者Infinity,我希望输出值为false时,所以这排除了简单检查是否typeof(val) == 'number'
期望的输入/输出:
1 => true-42 => true3.14 => trueNaN => falseInfinity => falsenull => falseundefined => falseisFinite()几乎是完美的,但有一个问题:isFinite(null)当我真的希望它返回false时返回true.
没有经常检查if ((val != nul) && isFinite(val)),还有另一种更简洁的技术吗?
// As suggested in the comments, a function:
var isNumber = function (val) {return !isNaN(parseInt(val))};
console.log(isNumber(1)) // true
console.log(isNumber(-42)) // true
console.log(isNumber(3.14)) // true
console.log(isNumber(NaN)) // false
console.log(isNumber(Infinity)) // false
console.log(isNumber(null)) // false
console.log(isNumber(undefined)) // false
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
68 次 |
| 最近记录: |