【问题标题】:How to test for undefined variable repeatedly?如何反复测试未定义的变量?
【发布时间】:2017-09-28 00:03:10
【问题描述】:

我正在尝试制作一个初学者项目,一个石头、纸、剪刀游戏。但是我在使用变量时遇到了问题,我基本上制作了三个按钮,Rock、Paper 和 Scissors,当您单击其中一个按钮时,我将变量返回给函数。但是,当我将函数的值分配给全局变量时,它首先显示未定义,然后当我再次单击它时显示 Rock、papers 或 scissors,我尝试执行 if 语句,仅在变量不为 null 但时发出警报它似乎不起作用。

JS 代码

function gameFunction(choice) {
  userChoice = choice;
  return userChoice;
}

playerChoice = gameFunction();

if (playerChoice != null) {
  alert("Test");
}

【问题讨论】:

  • 您的 gameFunction 函数期望获得 1 个参数,但是当您调用它时,您没有发送任何参数...再次阅读您的代码。
  • 欢迎来到 StackOverflow!发布代码时,请确保添加所有相关部分。在您的 sn-p 中,变量的声明和赋值语句似乎也是相关的。

标签: javascript


【解决方案1】:

这是因为第一次加载代码时变量 playerChoice 未定义。相反,您需要(如果您决定坚持使用全局变量)使用已定义且有效的值来定义 playerChoice。

喜欢:

playerChoice = "Rock"

发生这种情况是因为 javascript 遵循(以及其他)面向事件的编程范式,所以在您的应用程序的第一次迭代中,我假设它等待用户通过点击事件进行选择?但它之前有什么价值点击事件?

简而言之,您需要将全局变量定义为已知状态,即使玩家稍后会更改它。

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-10
    • 2011-04-20
    • 1970-01-01
    • 1970-01-01
    • 2023-03-07
    • 2012-12-02
    • 1970-01-01
    • 2020-11-06
    相关资源
    最近更新 更多