我正在尝试制作一个初学者项目,一个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");
}
答案 0 :(得分:0)
那是因为第一次加载代码时变量playerChoice未定义。您需要(如果您决定坚持使用全局变量)来定义具有已定义且有效值的playerChoice。
像:
playerChoice = "Rock"
这是因为javascript遵循(以及其他)面向事件的编程范例,因此在应用程序的第一次迭代中,我假设它等待用户通过单击事件进行选择?,但它之前有什么价值?点击事件?
简而言之,您需要将全局变量定义为已知状态,即使玩家稍后会更改它。
希望它有所帮助。