Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么';检查javascript变量是否为数字且大于零的最简单方法是什么?_Javascript - Fatal编程技术网

什么';检查javascript变量是否为数字且大于零的最简单方法是什么?

什么';检查javascript变量是否为数字且大于零的最简单方法是什么?,javascript,Javascript,我把这个编码了: isNumberNotZero: function (num) { // Return false if num is null, an empty string or zero if (num === null || typeof num === "undefined" || (typeof num === "string" && num.length === 0) || num == 0) {

我把这个编码了:

        isNumberNotZero: function (num) {

            // Return false if num is null, an empty string or zero
            if (num === null || typeof num === "undefined" || (typeof num === "string" && num.length === 0) || num == 0) {
                return false;
            }
            return true;
        },

但是有没有更简单的方法呢。我的代码看起来不是很干净。

您正在做大量的检查,以确定它不是什么,而您只关心它是否是大于零的数字

只是:


当你只关心它是否是一个大于零的数字时,你正在做大量的检查

只是:

这是一个著名的问题:

function isNumber(n) {
  return !isNaN(parseFloat(n)) && isFinite(n);
}
然后,您的测试非常简单,只需将该函数与
>0
:

return isNumber(input) && input > 0;
这是一个著名的问题:

function isNumber(n) {
  return !isNaN(parseFloat(n)) && isFinite(n);
}
然后,您的测试非常简单,只需将该函数与
>0
:

return isNumber(input) && input > 0;
如果要缩短代码,可以使用a将其转换为整数

这不是那么可读,只适用于整数(例如,如果您的数字为0.5,则将其视为零),但它快速且简洁

function isNumberNotZero(num) {
    return +num !== 0;
}
如果要缩短代码,可以使用a将其转换为整数

这不是那么可读,只适用于整数(例如,如果您的数字为0.5,则将其视为零),但它快速且简洁

function isNumberNotZero(num) {
    return +num !== 0;
}