JavaScript 如果 elseif else 不起作用
javascript if elseif else not working
救命!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...")
}
}
使用 ==
而不是 =
。单个等于是变量赋值,计算结果为赋值结果。 ==
用于相等性测试。
从 if
和 else if 语句中删除;
。
;
表示语句结束
此外,您不能使用=
作为比较操作,而是==
或===
(严格比较)@Andy提到。
while (Room == 1) { // Actually your code fails at the beginning itself.
但是,我建议您使用switch
来处理您的情况。
如果你写 "=" 单个等于意味着为该变量赋值。因此,出于条件目的,您应该将"="单等于更改为"=="双等于。
如果别的没有结尾";"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...");
}
}
}
在所有 if-elseif-语句之后都有一个分号。因此,无论 if 中的布尔值是什么,if 块都是空的。只需删除分号,您就可以开始了。
有了这个:
if(1 == 1);
{
alert('Nope');
}
if-语句后面的块总是被执行,因为分号以 if 结尾。
if(1 == 1)
{
alert('Yup');
}
工程。
Java scrip 不考虑单个 '=' 它适用于 '=='
try
if (Turn == "Start");
Instead of
if (Turn = "Start");
删除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...")
}
}
此外,除了使用严格的比较之外,我强烈建议在 if(...) 不在新行之后写左大括号:
喜欢:
if(...){
而不是:
if(...)
{
原因是 JavaScript 的内置分号插入,因此有时它会产生无声错误或意外行为。在其他一些编程语言中,这并不重要,但在JavaScript中却如此。
相关文章:
- Javascript if和else语句不起作用
- Javascript if-else循环不起作用
- if-else循环和jquery在热应用程序或冷应用程序中不起作用
- If.else语句检查NaN和空字符串是否在JavaScript中不起作用
- 输入类型单选按钮选中else语句在jquery中不起作用
- jQuery else 函数不起作用
- jQuery toggleClass if else 不起作用
- 隐藏元素取决于 if/else 语句的值不起作用
- 如果 else 语句在 javascript onclick() 中不起作用,当从 android webview 调用
- jQuery 隐藏/显示在 if/else 语句中不起作用
- 嵌套的 if/else 语句讨论了分配变量.我已经这样做了,但它仍然不起作用
- JavaScript 从 XML 中提取数据(如果 else 语句不起作用)
- JavaScript 如果 elseif else 不起作用
- innerHTML 在 if/else 中不起作用
- 带有 .get 的 jquery if/else 语句不起作用
- 如果 else 语句在 JavaScript 中不起作用
- 我有一个基于计数器的 if/else 语句,但由于某种原因,else 不起作用
- Javascript/JQuery/AJAX Else 如果不起作用
- Javascript if/else 语句不起作用,但是里面的代码就像我在没有 if/else 的情况下测试的那样
- jQuery图像交换if-else语句不起作用