if语句不起作用
if statements not working
我是js的新手,我刚刚写了下面基于石头、纸、剪刀游戏的基本函数。由于某些原因,比较函数的结果总是显示为"draw"而不是其他结果。我在这里做错了什么?
var userChoice = prompt("Do you choose rock, paper or scissors?");
var computerChoice = Math.random();
if (computerChoice < 0.34) {
computerChoice = "rock";
} else if (computerChoice <= 0.67) {
computerChoice = "paper";
} else {
computerChoice = "scissors";
}
choice1 = userChoice;
choice2 = computerChoice;
var compare = function (choice1, choice2) {
if (choice1 == choice2) {
return "draw!";
}
if (choice1 == "rock") {
if (choice2 == "scissors") {
return "rock wins!";
} else {
return "paper wins!";
}
}
if (choice1 == "paper") {
if (choice2 == "scissors") {
return "scissors wins!";
} else {
return "paper wins!";
}
}
if (choice1 == "scissors") {
if (choice2 == "rock") {
return "rock wins!";
} else {
return "scissors wins!";
}
}
};
compare();
谢谢,我们
您调用的比较没有参数:
compare();
因此,choice1
和choice2
都等于undefined
,您的游戏将始终以平局结束。你应该试着这样调用你的比较函数:
compare(userChoice, computerChoice);
如果定义一个函数,参数列表将定义函数范围内给定变量的名称。这不是函数本身应该可用的变量的命名约定。
您已经用两个参数定义了函数:
var compare = function (choice1, choice2)
但是,您已使用0调用了它。
尝试指定选项:
compare("rock", "paper");
你不能只通过在没有参数的情况下键入func_name()来打开函数,这就像"干镜头"。阅读关于声明的函数
var userChoice = prompt("Do you choose rock, paper or scissors?");
var computerChoice = Math.random();
if (computerChoice < 0.34) {
computerChoice = "rock";
} else if (computerChoice <= 0.67) {
computerChoice = "paper";
} else {
computerChoice = "scissors";
}
choice1 = userChoice;
choice2 = computerChoice;
function compare (choice1, choice2) {
if (choice1 == choice2) {
return "draw!";
};
if (choice1 == "rock") {
if (choice2 == "scissors") {
return "rock wins!";
} else {
return "paper wins!";
}
}
if (choice1 == "paper") {
if (choice2 == "scissors") {
return "scissors wins!";
} else {
return "paper wins!";
}
}
if (choice1 == "scissors") {
if (choice2 == "rock") {
return "rock wins!";
} else {
return "scissors wins!";
}
}
};
compare(choice1, choice2);
相关文章:
- Javascript:If-then语句在函数中不起作用
- 循环通过数组的If语句不起作用
- Javascript变量到PHP变量-如果语句不起作用,则发布
- 清除函数中if语句内部不起作用的间隔
- 为什么简单的Promise语句在浏览器中不起作用
- 如果语句不起作用,请单击
- 三元语句不起作用
- Javascript if和else语句不起作用
- PHP代码中实现的JavaScript |if语句不起作用
- if 语句在 JavaScript 上不起作用
- 如果语句不起作用 - JavaScript
- .has() 函数在 if 语句 (jQuery) 中不起作用
- 如果 onclick 和 onselect 中的语句在 ASP.NET 不起作用
- 简单的JS计算器-为什么不是'这个if语句不起作用
- alert语句不起作用
- SELECT FROM WHERE语句在使用变量时不起作用…
- 如果语句由于某种原因不起作用
- Javascript验证不起作用——只要一个if语句为true,它就会停止所有if语句
- 范围的Switch语句不起作用
- Javascript If语句,不起作用