如何检查JavaScript参数是否为数字?

Ste*_*eod 7 javascript

我正在做一些故障排除,并希望添加一个检查,函数的参数是一个数字.我该怎么做呢?

像这样......

function fn(id) {
    return // true iff id is a number else false
}
Run Code Online (Sandbox Code Playgroud)

更好的是,如果我可以检查参数是一个数字和一个有效的整数.

Dan*_*idy 18

function fn(id) {
    return typeof(id) === 'number';
}
Run Code Online (Sandbox Code Playgroud)

还要检查它是否是整数:

function fn(id) {
    return typeof(id) === 'number' &&
            isFinite(id) &&
            Math.round(id) === id;
}
Run Code Online (Sandbox Code Playgroud)


use*_*291 9

我会说

 n === parseInt(n)
Run Code Online (Sandbox Code Playgroud)

足够.注意三个'===' - 它检查类型和值

  • 你很幸运,"NaN === NaN是假的" (2认同)