帮助! if / elseif / else代码块不起作用!当代码到达提示“你会做什么?”无论你键入什么,你都会收到所有警报。当您键入不在if块中的命令时,它应该显示为空白,如果您键入了R,L或M,则会给出警告。键入F应该不会给出警报。
while (Room = 1) {
var Choice = prompt ("What will you do?");
if (Turn = "Start");
{
if (Choice = "F");
{
Turn = "1";
}
else if (Choice = "R");
{
alert ("You cannot do that...");
}
else if (Choice = "L");
{
alert ("You cannot do that...");
}
else if (Choice = "M");
{
alert (" 1"+'\n'+" 1" + '\n' + "221" + '\n' + " X");
}
else
{
alert ("You cannot do that...")
}
}
答案 0 :(得分:5)
使用==
代替=
。单个等于是变量赋值,并根据赋值的结果进行求值。 ==
用于等式测试。
答案 1 :(得分:2)
从if和else if语句中删除;
。
;
代表声明的结尾
此外,您无法使用=
作为比较操作,而是{@ 1}}或==
(严格比较),如@Andy所述。
===
但我建议您使用 while (Room == 1) { // Actually your code fails at the beginning itself.
来处理您的情况。
答案 2 :(得分:1)
如果你写“=”单一等于意味着为该变量赋值。 因此,您应该将“=”单一等于“==” Double等于条件目的。
如果没有结束“;” Javascript中需要半结肠。删除它。
我已经更新了以下内容,请尝试一下。
while (Room == 1) {
var Choice = prompt ("What will you do?");
if (Turn == "Start")
{
if (Choice == "F")
{
Turn == "1";
}
else if (Choice == "R")
{
alert ("You cannot do that...");
}
else if (Choice == "L")
{
alert ("You cannot do that...");
}
else if (Choice == "M")
{
alert (" 1"+'\n'+" 1" + '\n' + "221" + '\n' + " X");
}
else
{
alert ("You cannot do that...");
}
}
}
答案 3 :(得分:0)
在所有if-elseif语句之后你有一个分号。因此,无论if中的布尔值是什么,if块都是空的。只需删除分号就可以了。
有了这个:
if(1 == 1);
{
alert('Nope');
}
由于分号结束if。
,因此始终执行if语句后的块if(1 == 1)
{
alert('Yup');
}
作品。
答案 4 :(得分:0)
删除;
和if
循环末尾的分号else if
并使用==
比较字符串,而不是=
用这个替换你的代码
while (Room = 1) { //here Room is int variable
var Choice = prompt ("What will you do?");
if (Turn == "Start")
{
if (Choice =="F")
{
Turn = "1";
}
else if (Choice == "R")
{
alert ("You cannot do that...");
}
else if (Choice == "L")
{
alert ("You cannot do that...");
}
else if (Choice == "M")
{
alert ("1" + '\n' + "1" + '\n' + "221" + '\n' + "X");
}
else
{
alert ("You cannot do that...")
}
}
答案 5 :(得分:0)
Java脚本不考虑单个'='它与'=='
一起使用try
if (Turn == "Start");
Instead of
if (Turn = "Start");
答案 6 :(得分:-1)
另外,除了使用严格比较之外,我强烈建议在if(...)之后不在新行中写左大括号:
像:
if(...){
而不是:
if(...)
{
原因是JavaScript的内置分号插入,因此有时会产生无提示错误或意外行为。在其他一些编程语言中它并不重要,但在JavaScript中它确实如此。