我正在做一些故障排除,并希望添加一个检查,函数的参数是一个数字。我该怎么做?
像这样......
function fn(id) {
return // true iff id is a number else false
}
更好的是,如果我可以检查参数是一个数字和一个有效的整数。
答案 0 :(得分:18)
function fn(id) {
return typeof(id) === 'number';
}
还要检查它是否为整数:
function fn(id) {
return typeof(id) === 'number' &&
isFinite(id) &&
Math.round(id) === id;
}
答案 1 :(得分:9)
我会说
n === parseInt(n)
就够了。注意三个'===' - 它检查类型和值
答案 2 :(得分:1)
使用parseInt
检查类型是否为数字,以及是否为int:
if (typeof id == "number" && id == parseInt(id))
答案 3 :(得分:1)
===表示严格等于和==检查值是否相等。 这意味着“2”== 2为真,但“2”=== 2为假。
使用正则表达式
var intRegex = /^\d+$/;
if(intRegex.test(num1)) {
//num1 is a valid integer
}
的例子 == vs. ===
答案 4 :(得分:0)
function fn(id){
if((parseFloat(id) == parseInt(id)) && !isNaN(id)){
return true;
} else {
return false;
}
}
答案 5 :(得分:0)
function fn(id) {
var x = /^(\+|-)?\d+$/;
if (x.test(id)) {
//integer
return true;
}
else {
//not an integer
return false;
}
}