2016-09-26 37 views
-5

我在下面有if语句。可以在if - else if - else中添加/制作它。如果不告诉我原因。谢谢。干杯如何在if语句中使if else成立

var num1; 
 
var num2 = 1; 
 

 
num1 = num2 != 0 ? num2 : ""; 
 

 
alert(num1);

+0

简单。使用适当的if/else。其他任何事情都很快就会变得杂乱 –

+0

@FabianBettag我知道我可以用这种方式做一个简单的if语句。那就是为什么我问是否有可能在if语句中使if - else if - else。 – KiRa

+0

是的。有可能的。但它真的很混乱。 –

回答

1

肯定,但我们(或者至少我的)人类的大脑不喜欢阅读ing ;-)

num1 = num2 != 0 
      ? num2 
       : num3 != 0 
      ? num3 
       : num4 != 0 
      ? num4 
       : num5 != 0 
      ? num5 
       : "" 

间距不是必需的,只是使它更具可读性。

+0

不,但随着他们越来越长,他们变得越来越困难。然后你离开它3个月,但不得不去找虫子,你看到它,并深深地哭泣。 –

+2

严重。技术上正确的答案,如果你真的这样做会让你被私刑。滥用三元组只适用于代码高尔夫和写混淆器。不要在实践中使用。 –

+1

@AndrewBone感谢您的努力。 – KiRa

0

如果你想要的是三元经营者(? :)翻译成if else那么这里有云:

var num1; 
 
var num2 = 1; 
 

 
if (num2 != 0) { 
 
    num1 = num2; 
 
} else { 
 
    num1 = ""; 
 
} 
 

 
alert(num1);

+0

这不是我要找的。 – KiRa

+0

你在找什么? –

+0

在上面提供的代码中,如果可以制作if - else if - else语句,则作为示例提供。我不知道语法是什么。 – KiRa

0

您所描述的三元运算符,并且它几乎

if(part before ?) { 
    (part before colon) 
} else { 
    (part after colon) 
} 

像这样:

if(num2 != 0) { 
    num1 = num2; 
} else { 
    num1 = ""; 
} 

在一般情况下,如果你有什么比[A =(B更复杂= = x)? a:b],请使用if块,否则可能会冒犯你的同行程序员:-)。也使用parens很多来消除歧义,因为操作的顺序有时会变得很奇怪......

+0

当然,我不会喜欢我的同伴编程。只是想着它应该是什么样子。 – KiRa