初学者 JavaScript isNaN 问题?

Beginner JavaScript isNaN issues?

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;
    }

function IsValid(value){
    var valid = true;

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

    return valid; // you needed to return valid not the value
}

几件事。首先,您返回了错误的值,其次,您的支票应该更新为包括 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
}