Javascript 如果条件有问题

Javascript 如果条件有问题,javascript,Javascript,我这样调用这个函数:calculate(2) 在调试器中,我看到它也跳转到else(flag==3)(如果(flag==2)则跳转到else之外)。 有人能给我解释一下吗 谢谢 H.Bada请使用{}代码按钮发布您的代码,以便它显示得很好 你不想要最后的else(flag==3)你要么想要else if(flag==3)要么就是else 乙二醇 或 您的代码的解释如下: if (flag == 1) { } else if (flag == 2) { } else { (flag ==

我这样调用这个函数:
calculate(2)

在调试器中,我看到它也跳转到else
(flag==3)
(如果
(flag==2)则跳转到else之外)
。 有人能给我解释一下吗

谢谢
H.Bada

请使用
{}
代码按钮发布您的代码,以便它显示得很好

你不想要最后的
else(flag==3)
你要么想要
else if(flag==3)
要么就是
else

乙二醇


您的代码的解释如下:

if (flag == 1)
{
}
else if (flag == 2)
{
}
else
{
    (flag == 3)
}
如果语句:

else if (flag == 2)
{
}
else if (flag == 3)
{
}

发生了几件事,您被语法错误弄糊涂了:

 else (flag==3)
else
不采用像
if
else if
do这样的布尔条件


有关正确的语法,请参阅@El Ronnoco的帖子。

因为else不检查任何条件,所以从您的示例中,(flag==3)被视为包含在else块中的语句,即else之后的第一个语句,该语句之后的所有其他语句都不在if中。。。否则就要封锁


因此,此后的每一条语句都将被执行,而与变量标志的值无关。

调试器正在跳到那里,因为这是一个语法错误
if (flag == 1)
{
}
else if (flag == 2)
{
}
else
{
    (flag == 3)
}
else if (flag == 2)
{
}
else if (flag == 3)
{
}
 else (flag==3)