Javascript 未从if语句打开的警报
我正在制作一个石头剪子游戏,我想要警报来确定谁选了什么,谁赢了,但是警报不会弹出。我发现了多个错误并修复了它们,重新检查了所有内容,甚至进行了三次检查,但警报仍然不会弹出 这是三个功能之一(它们都相似):Javascript 未从if语句打开的警报,javascript,if-statement,alert,Javascript,If Statement,Alert,我正在制作一个石头剪子游戏,我想要警报来确定谁选了什么,谁赢了,但是警报不会弹出。我发现了多个错误并修复了它们,重新检查了所有内容,甚至进行了三次检查,但警报仍然不会弹出 这是三个功能之一(它们都相似): functionrock(){ var computerChoice=Math.random(); 如果(计算机选择
functionrock(){
var computerChoice=Math.random();
如果(计算机选择<0.34){
computerChoice=“rock”;
}否则如果(计算机选择<0.67){
computerChoice=“纸张”;
}否则{
computerChoice=“剪刀”;
}
}
如果(计算机选择==“摇滚乐”){
警报(“链接和计算机都选择了摇滚!这是一个平局!”);
}else if(计算机选择==“剪刀”){
警告(“链接选择了石头,电脑选择了剪刀!电脑受到了伤害!”);
}否则{
警告(“链接选择了岩石,计算机选择了纸张!链接受到了伤害!”;
}
}
您不能返回警报。警报是一个方法调用。移除警报前面的回路,警报将打开:
if(computerChoice === "rock"){
alert("Link and Computer both chose Rock! It's a Tie!");
}
你不需要退货。因此,改变这一点:
if(computerChoice === "rock"){
return alert("Link and Computer both chose Rock! It's a Tie!");
}
为此:
if(computerChoice === "rock"){
alert("Link and Computer both chose Rock! It's a Tie!");
}
我认为问题出在以下几行:
function rock() {
var computerChoice = Math.random();
if (computerChoice < 0.34) {
computerChoice = "rock";
} else if (computerChoice < 0.67) {
computerChoice = "paper";
} else {
computerChoice = "scissors";
}
} // <-- I don't think you want this closing brace here
if (computerChoice === "rock") {
alert("Link and Computer both chose Rock! It's a Tie!");
} else if (computerChoice === "scissors") {
alert("Link chose Rock and Computer chose Scissors! Computer took a heart of damage!");
} else {
alert("Link chose Rock and Computer chose Paper! Link took a heart of damage!");
}
}
我多次运行这个函数。每次它都会随机向三条消息中的一条发出警报。这种方法有效,并且可以少走弯路:) 澄清: Math.random()返回[0..1>范围内的浮点值
replements.length*Math.random()返回[0..3>范围内的浮点值
Math.floor(repress.length*Math.random())返回0、1或2。
在浏览器的Javascript控制台中设置断点。例如,对于Chrome,在Windows上使用F12打开它,或在OS X上使用alt-cmd-I打开它,转到“源”选项卡。找到函数的第一行,单击左边缘(行号所在位置)设置断点并触发您的函数。当我重新格式化代码时,这是因为代码中明显存在语法错误。最后还有一个额外的
}
。请务必检查您的错误控制台。感谢您提供的有用提示,我将不得不记住这一点。遗憾的是,我删除了return语句,但它仍然是错误的Don’不要给我警告信息。不过我很感谢你的帮助。我删除了你说的返回声明,但它仍然没有给我警告信息。不过我很感谢你的帮助。确实如此!我花时间阅读了你的全部回复,以确保我做得对,你的解释有点想让我自己面对现实。我应该我会仔细查看我输入的内容。谢谢你的帮助!
function rock() {
var computerChoice = Math.random();
if (computerChoice < 0.34) {
computerChoice = "rock";
} else if (computerChoice < 0.67) {
computerChoice = "paper";
} else {
computerChoice = "scissors";
}
} // <-- I don't think you want this closing brace here
if (computerChoice === "rock") {
alert("Link and Computer both chose Rock! It's a Tie!");
} else if (computerChoice === "scissors") {
alert("Link chose Rock and Computer chose Scissors! Computer took a heart of damage!");
} else {
alert("Link chose Rock and Computer chose Paper! Link took a heart of damage!");
}
}
function rock() {
var computerChoice = Math.random();
if (computerChoice < 0.34) {
computerChoice = "rock";
} else if (computerChoice < 0.67) {
computerChoice = "paper";
} else {
computerChoice = "scissors";
}
if (computerChoice === "rock") {
alert("Link and Computer both chose Rock! It's a Tie!");
} else if (computerChoice === "scissors") {
alert("Link chose Rock and Computer chose Scissors! Computer took a heart of damage!");
} else {
alert("Link chose Rock and Computer chose Paper! Link took a heart of damage!");
}
}
function rock() {
var replies = new Array(
'Link and Computer both chose Rock! It\'s a Tie!',
'Link chose Rock and Computer chose Scissors! Computer took a heart of damage!',
'Link chose Rock and Computer chose Paper! Link took a heart of damage!');
alert(replies[Math.floor(replies.length * Math.random())]);
}