【问题标题】:Beginner JavaScript isNaN issues?初学者 JavaScript isNaN 问题?
【发布时间】:2017-02-24 22:56:47
【问题描述】:
function IsValid(value){
    var valid = true;

    if (isNaN(value) || value == ""){
        valid = false;
    }

    return value;
}

JavaScript 初学者,所以我相信这将是一个简单的问题。我们正在使用上述函数来检查参数并生成错误消息。除了其中的“isNaN”部分外,它工作正常。

    if (IsValid(wind)) {
        wind = parseFloat(wind);

        if (wind < MIN_WIND || wind > MAX_WIND) {
            SetError("divWindError", "Wind must be between " + MIN_WIND +
            " and " + MAX_WIND);
            return;
        }
    } else {
        SetError("divWindError", "Wind is not valid");
        return;
    }

【问题讨论】:

  • wind 的值是多少?
  • 返回 valid 而不是 value
  • 没有理由投反对票。这是一个完全合理的问题,不应劝阻用户提出这样的问题。
  • @Melissa,不要忘记接受您认为最能回答问题的回复,它可以帮助社区成员参考此主题以解决类似问题。

标签: javascript if-statement nan


【解决方案1】:

一些事情。首先,您返回了错误的值,其次,您的检查应该更新为包括 nullundefined 检查:

function IsValid(value){
    var valid = true;

    if (!value || isNaN(value)){ // updated check to include NaN, "", undefined, and null
        valid = false;
    }

    return valid; // correct return value is valid, not value
}

【讨论】:

    【解决方案2】:

    function IsValid(value){
        var valid = true;
    
        if (isNaN(value) || value == ""){
            valid = false;
        }
    
        return valid; // you needed to return valid not the value
    }

    【讨论】:

    • 谢谢!总是很简单。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-04
    • 2020-11-23
    • 2015-03-16
    • 2012-04-15
    • 1970-01-01
    相关资源
    最近更新 更多