【问题标题】:The rock, paper scissors Javascript excercise on CodeAcademyCodecademy 上的石头剪刀布 Javascript 练习
【发布时间】:2014-01-01 20:30:34
【问题描述】:

我目前正在学习 CodeAcademy Javascript 课程,虽然这个特殊的练习让我通过了,但老实说,我觉得我做的不对。

在这个特定的练习中,我需要确定计算机在石头、纸和剪刀之间的选择。为此,我声明了一个名为computerChoice 的变量,它等于Math.random()。然后,我打算根据随机数的值执行 if/elseif/else 语句,将石头、纸或剪刀分配给 computerChoice 变量。这是我的尝试:

var userChoice = prompt("Do you choose rock, paper or scissors?"); 
var computerChoice = Math.random(); 
console.log(computerChoice);   - **this is from a prev. excercise to demonstrate what math.random does**

 if (computerChoice <= 0.33) {
    computerChoice === "rock";
 } else if (computerChoice <= 0.66) {
     computerChoice === "paper";
 } else {
     computerChoice === "scissors";
 }

当我在 Firebug 中运行脚本时,它只返回数字加上 false 布尔值,而不是让我假设我做错了的选择之一。我很感激这方面的任何帮助。

【问题讨论】:

    标签: javascript


    【解决方案1】:

    您在尝试重新分配变量“computerChoice”时使用了=== 而不仅仅是=

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

    = 运算符用于(重新)赋值; ===== 运算符用于比较。

    【讨论】:

    • 这是一个变化。我习惯于看到相反的错误。
    • 我会说= 用于分配一个值(不改变)......例如以前的值可能尚未设置。
    • @spanliffe 我试图使用简单的术语,但你当然是对的。
    猜你喜欢
    • 2020-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-27
    • 1970-01-01
    • 2021-01-10
    相关资源
    最近更新 更多