JavaScript变量调用函数,但未定义

时间:2019-03-01 12:15:50

标签: javascript

我对JavaScript极为陌生,正在尝试制作一个非常简单的“ Rock,Paper,剪刀”游戏,该游戏可通过控制台进行播放。

Here is a jsfiddle.net link完整。

到目前为止,主要问题是游戏每回合都会产生平局(另一个是humanTurn()中的错误输入会导致更严重的错误,但这与此无关我觉得更紧迫的话题)。

分别调用humanTurn()computerTurn()似乎都不错,但是在gameRound()中调用时,两个console.log()(第36和38行)​​却没有似乎没有返回任何类型的值,并且在控制台中这些值显示为ƒ toLocaleUpperCase() { [native code] }。我尝试搜索这可能意味着什么,到目前为止,我唯一能得出的结论是,AIChoiceHUChoice这两个变量中实际上没有存储任何值,我无法弄清楚为什么会这样。

任何帮助都将不胜感激!

1 个答案:

答案 0 :(得分:0)

computerTurn().toLocaleUpperCaseuserTurn().toLocaleUpperCase都是函数,并且由于它们在String原型上,因此它们都是相同的函数 。如果比较它们,它们将始终相等。

您需要实际调用该函数才能获取所需的值:

let AIChoice = computerTurn().toLocaleUpperCase();
console.log(AIChoice);
let HUChoice = humanTurn().toLocaleUpperCase();
console.log(HUChoice);