JS函数返回True如果其中的所有变量返回True

时间:2013-04-10 19:26:21

标签: javascript

下面的函数验证我的表单,其中每个变量调用一个函数以确保该字段已被填写。如果未填写该字段,则该函数返回FALSE,因此该变量为FALSE。我想知道如果所有变量都返回TRUE,我怎么能使这个函数返回TRUE。

现在它因为最后一行而每次都返回FALSE。谢谢!

function validateform(){
        var namevalid = validatename();
        var entreevalid = validateentree();
        var fillingvalid = validatefilling();
        var ricevalid = validaterice();
        var beansvalid = validatebeans();
        var cheesevalid = validatecheese();

        return false;

}

5 个答案:

答案 0 :(得分:1)

function validateform(){
        var namevalid    = validatename(),
            entreevalid  = validateentree(),
            fillingvalid = validatefilling(),
            ricevalid    = validaterice(),
            beansvalid   = validatebeans(),
            cheesevalid  = validatecheese();

        return (namevalid && entreevalid && fillingvalid && 
                ricevalid && beansvalid  && cheesevalid);
}

答案 1 :(得分:0)

简单。改变这个:

return false;

对此:

return (namevalid && entreevalid && fillingvalid && ricevalid && beansvalid && cheesevalid);

答案 2 :(得分:0)

比为每个支票创建变量的版本更简洁:

function validateform(){
        return (validatename() && validateentree() && validatefilling() 
               && validaterice() && validatebeans() && validatecheese());
}

答案 3 :(得分:0)

你可以完全摆脱局部变量:

function validateform() {
    return validatename() && validateentree() &&
           validatefilling() && validaterice() &&
           validatebeans() && validatecheese();
}

好处是,如果之前返回false,则不会调用后续函数,因此整个代码更加优化。

答案 4 :(得分:0)

简短版本:

return (validatename() && validateentree() && validatefilling() && 
        validaterice() && validatebeans() && validatecheese());