if-else if陈述值虚假

时间:2018-12-23 21:10:18

标签: javascript ecmascript-6

var x = 0; 
if (!true) 
{ 
    x = 1; 
} 
else if (false) 
{ 
    x = 2; 
}
else {
    x = 3; 
} 
alert(x);

var x具有0,这是一个伪造的值,因此条件为false。那为什么if(!true)不执行而else语句执行呢?

2 个答案:

答案 0 :(得分:0)

首先,缩进代码

var x = 0;

if (!true){ 
    x = 1;
} 
else if (false){ 
    x = 2; 
}
else {
    x = 3; 
} 
alert(x);

!true =假

与x值无关,这始终为假

答案 1 :(得分:0)

因为if(!true)if(false)在您的范围内无效。 如果条件方程式为假,则将跳过该部分。 也就是说if(!true)if(false)在您的代码中无效。

例如,如果您想制作infinite loop

您可以使用while(true)while(1),而不可以使用while(false)while(0)

因为whileif检查等式的内容是否为true