[英]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.