处理多个Javascript IF语句

时间:2009-09-10 04:34:37

标签: javascript function if-statement

是否可以在Javascript中放置多个IF语句?如果是这样,我在下面的陈述中遇到了相当大的麻烦。我想知道你是否可以在 if(data =='valid')和else 之间添加另一个IF语句?我想在两者之间添加另一个 if data =='concept')

if (data == 'valid') {
    $("#file").slideUp(function () {
        $("#file").before('<div class="approvedMessage">WIN WIN WIN!</div>');
        setTimeout(ApprovedProof, 5000);
    });

    function ApprovedProof() {
        $("#file").slideDown();
        $('.approvedMessage').fadeOut();
    }

}
else {

    $("#file").slideUp(function () {
        $("#file").before('<div class="deniedMessage">NO NO NO!</div>');
        setTimeout(DeniedProof, 5000);
    });

    function DeniedProof() {
        $("#file").slideDown();
        $('.deniedMessage').fadeOut();
    }
}

4 个答案:

答案 0 :(得分:5)

这就是你要找的东西吗?

if(data == 'valid') {
    // block 1
} else if (data == 'concept') {
    // block 2
} else {
    // block 3
}

答案 1 :(得分:4)

如果您希望数据变量包含许多不同的值,您可能会发现switch语句更适合您的需求:

switch(data)
{
  case "valid":
     //stuff
     break;
  case "concept":
     //stuff
     break;
  case "this": case "that":
     //more stuff
     break;
  default:
     break;
}

注意每个case之后的break语句,每个条件可以使用多个case语句,并且有一个catch-call默认情况,如果没有其他匹配则会触发。 switch语句只不过是If语句的更简洁版本。

答案 2 :(得分:3)

您可以使用else if

if (data == "valid") {
    // stuff here
} else if (data == "concept") {
    // more stuff
} else {
    // other stuff
}

答案 3 :(得分:2)

与此问题无关,但Joey要求澄清他的计时器使用匿名函数:

if (data == 'valid') {
    $("#file").slideUp(function () {
        $("#file").before('<div class="approvedMessage">WIN WIN WIN!</div>');
        setTimeout(function () {
            $("#file").slideDown();
            $('.approvedMessage').fadeOut();
        }, 5000);
    });
}