shortHand if else-if和else语句

时间:2014-06-17 13:27:56

标签: javascript jquery

我已经嵌套了if else语句,我在下面的两个语句中添加了这些语句,而不是有很多行我想要简写它。

任何人都可以帮助我。

在Statement1的下面的陈述中:a&& b和C& d,a,b,c,c是数组。 在statement2中有一个关键字。

语句1:

        if((a && b)!== -1){
            abc ="hai"
        }
        else if ((c && d)!== -1) {
            abc="hello"
        }
        else{
           abc="Hurray"
        }

声明2:

               if(a==="abc"){
                if(bb==="def"){
                    amd ="hello"
                }
                else if(bb==="ghi"){
                    amd ="hai"
                }
                else{
                    amd = "Hurray";
                }
            }
            else if(a==="qwe"){
                if(aaa==="ddd") {
                    amd = "Hurray Hi";
                }
                else{
                    amd = "Hurray bye";
                }
            }

2 个答案:

答案 0 :(得分:13)

声明:1可以写成,

abc = (a !== -1 && b!== -1) ? "hai" : (c !== -1 && d!== -1) ? "hello" : "hurray";

所以基于此尝试为语句编写自己的代码2 [提示:使用switch为此]

答案 1 :(得分:2)

短手版本被称为三元逻辑。这很简单但是如果你有条件需要大量更新,它可能会让人感到困惑。但这是:

Statement 1:

var a = -1;
var b = -1;
var c = -1;
var d = -1;

result = ((a && b) !== -1) ? 'hai' :
     ((c && d) !== -1) ? 'hello' : 'hurray';

alert(result);

Statement 2:

var a = 'abc';
var bb = 'def';

// plug in the remaining variables to test further 

result = (a === 'abc') ? (bb === 'def') ? amd = 'hello' :
         (bb === 'ghi') ? amd = 'hai' : amd = 'Hurray' :
     (a === 'que') ? (aaa === 'ddd') ? amd = 'Hurray Hi' : amd = 'Hurray Bye' : 
     'default result was missing from your statment';

alert(result);

应该这样做。虽然它是“速记”,但从长远来看可能会更加混乱。