【问题标题】:Javascript if/else syntax errorsJavascript if/else 语法错误
【发布时间】:2016-04-09 16:14:44
【问题描述】:

在我的 else 语句中出现语法错误我重写了代码并从已知的良好语句中粘贴。我错过了什么?它应该只检查 math.random 并在 if/else 中进行比较

var userChoice = prompt("Do you choose rock, paper, or scissors");
var computerChoice = Math.random();

if (computerChoice =< .33)
{
    computerChoice = "Rock";
}

else if (computerChoice > .33 && computerChoice =< .66)
{
    computerChoice = "Paper";
}

else
{
    computerChoice = "Scissors";
}

【问题讨论】:

  • 在小数点前加一个零。 if (computerChoice =
  • 你的逻辑运算符弄错了。它应该是 if(computerChoice < 1/3){}elseif(computerChoice > 2/3){}else{} Math.random() 使用与 1/3 相同的小数位数或 2/3

标签: javascript if-statement logic


【解决方案1】:

几个快速修复:

在所有小数前使用 0 使用&lt;= 而不是=&lt;

这些是我所做的唯一修复,我在将它们粘贴到 JSBin 的第二次看到它们

JsBin with corrected code

var userChoice = prompt("Do you choose rock, paper, or scissors");
var computerChoice = Math.random();

if (computerChoice <= 0.33)
{
    computerChoice = "Rock";
}

else if (computerChoice > 0.33 && computerChoice <= 0.66)
{
    computerChoice = "Paper";
}

else
{
    computerChoice = "Scissors";
}

【讨论】:

  • 做到了,我一直在自学 javascript 我从来没有想过要像这样检查运算符谢谢!!!!!!
【解决方案2】:

你的逻辑运算符弄错了。它应该是&lt;= 而不是=&lt;。

无论如何,IF THEN ELSE 在这里并不是真正需要的,尽管其他答案都在正确的轨道上,但无需计算数组中有多少元素。这场比赛总会有 3 种可能的结果:

var userChoice = prompt("Do you choose rock, paper, or scissors");
var computerChoice = ['Rock','Paper','Scissors'][Math.floor(Math.random() * 3)];

【讨论】:

    【解决方案3】:
    var userChoice = prompt("Do you choose rock, paper, or scissors");    
    var choices = ["Rock", "Paper", "Scissors"]; 
    var rand = Math.round(Math.random() * (choices.length-1)); 
    computerChoice = choices[rand]; 
    

    这样的事情可能会奏效。

    【讨论】:

    • 你是对的,我应该在它周围添加一个 Math.round :)
    • var rand = Math.floor( Math.random() * choices.length );
    • Math.round 返回一个更平衡的随机数
    • Math.round(Math.random() * choices.length); 可以返回一个从 0 到 3 的数字,但这里唯一有效的索引是 0 到 2
    • Math.round(Math.random() * (choices.length - 1)); 应该可以解决问题!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-30
    • 2021-05-29
    • 2015-04-19
    • 2019-08-29
    • 1970-01-01
    相关资源
    最近更新 更多