我调用这个函数是这样的:(除了否则,如果(flag==2))
calculate(2)
麻烦,如果条件
function calculate(flag)
{
if (flag==1)
{
}
else if (flag==2)
{
}
else (flag==3)
{
}
}
在调试器中我看到,它也给别人跳(flag==3)
有人能解释一下?
感谢 H.Bada
我调用这个函数是这样的:(除了否则,如果(flag==2))
calculate(2)
麻烦,如果条件
function calculate(flag)
{
if (flag==1)
{
}
else if (flag==2)
{
}
else (flag==3)
{
}
}
在调试器中我看到,它也给别人跳(flag==3)
有人能解释一下?
感谢 H.Bada
请张贴使用{}
码按钮,这样好听显示了你的代码!
你不希望你要么需要else if (flag==3)
最后else (flag==3)
或只是else
如
function calculate(flag)
{
if (flag==1)
{
}
else if (flag==2)
{
}
else if (flag==3)
{
//this will execute if flag is 3
}
}
或
function calculate(flag)
{
if (flag==1)
{
}
else if (flag==2)
{
}
else
{
//this will execute if flag is not 1 or 2
}
}
您的代码被这样解释:
if (flag == 1)
{
}
else if (flag == 2)
{
}
else
{
(flag == 3)
}
你可能需要另一个else if
声明:
else if (flag == 2)
{
}
else if (flag == 3)
{
}
有几件事情是怎么回事,你被一个语法错误困惑:
else (flag==3)
else
并不需要像if
一个布尔条件和else if
呢。
请参阅@El Ronnoco的帖子,了解正确的语法。
至于别的不会从你的例子检查任何条件,使(标志== 3)被视为后其他 &一切封闭在你的其他块即第一条语句声明之后话说出来if ... else块。
因此,无论变量标志的值如何,以后的每条语句都会被执行。
调试器跳到那里,因为这是一个语法错误 – Cameron 2011-02-04 16:36:57