繁体   English   中英

shortHand if else-if and else 语句

[英]shortHand if else-if and else statement

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

谁能帮我吗。

在语句 1 的以下语句中:a&&b 和 C&&d,a,b,c,c 是 arrays。在语句 2 中它是 a 关键字。

陈述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";
                }
            }

声明:1可以写成,

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

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

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

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

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

var a = 1;

var result  =  a == 1 ? 'kid' : a == 2 ? 'boy' : 'girl';

相当于:

var a = 1;
var result = '';
if(a == 1){
   result = 'kid';
}elseif(a == 2){
   result = 'boy';
}else{
   result = 'girl';
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM