如何重复测试未定义的变量?

时间:2017-08-18 16:35:36

标签: javascript

我正在尝试制作一个初学者项目,一个Rock,Paper,Scissors游戏。但是我遇到一个变量问题,我基本上做了三个按钮,Rock,Paper和Scissors,当你点击其中一个按钮时,我将变量返回给函数。但是当我为一个全局变量赋值函数时,它首先表示未定义,然后当我再次点击它时会说Rock,paper或剪刀,我试着做一个if语句,只在变量不为null时发出警告但是它似乎不起作用。

JS代码

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

playerChoice = gameFunction();

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

1 个答案:

答案 0 :(得分:0)

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

像:

playerChoice = "Rock"

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

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

希望它有所帮助。