我对JavaScript极为陌生,正在尝试制作一个非常简单的“ Rock,Paper,剪刀”游戏,该游戏可通过控制台进行播放。
Here is a jsfiddle.net link完整。
到目前为止,主要问题是游戏每回合都会产生平局(另一个是humanTurn()
中的错误输入会导致更严重的错误,但这与此无关我觉得更紧迫的话题)。
分别调用humanTurn()
和computerTurn()
似乎都不错,但是在gameRound()
中调用时,两个console.log()
(第36和38行)却没有似乎没有返回任何类型的值,并且在控制台中这些值显示为ƒ toLocaleUpperCase() { [native code] }
。我尝试搜索这可能意味着什么,到目前为止,我唯一能得出的结论是,AIChoice
和HUChoice
这两个变量中实际上没有存储任何值,我无法弄清楚为什么会这样。
任何帮助都将不胜感激!
答案 0 :(得分:0)
computerTurn().toLocaleUpperCase
和userTurn().toLocaleUpperCase
都是函数,并且由于它们在String
原型上,因此它们都是相同的函数 。如果比较它们,它们将始终相等。
您需要实际调用该函数才能获取所需的值:
let AIChoice = computerTurn().toLocaleUpperCase();
console.log(AIChoice);
let HUChoice = humanTurn().toLocaleUpperCase();
console.log(HUChoice);