3

我是使用 Code Academy 学习的初学者,我正在尝试用 JavaScript 编写一个简单的游戏,只是为了扩展我的理解。我无法破译为什么我的前几行代码不起作用。我要做什么应该很明显,但是确认命令根本不起作用。

这是代码:

var classChoice=prompt("You need to choose a class.  Will you play as a wizard or as  a warrior?").toLowerCase;

if (classChoice==="wizard"){
    confirm("You have chosen wizard.  Is this correct? (yes or no)");
}else if (classChoice==="warrior"){
    confirm("You have chosen warrior.  Is this correct?");
}

有人可以评论吗?

4

3 回答 3

6

toLowerCase是一个你必须调用的函数:.toLowerCase().


注意:当他们输入您要检查的 2 以外的值时会发生什么...?

于 2013-01-22T01:09:23.597 回答
3

在您的代码中,虽然正确地用 camelCase 编写,但在其名称调用的末尾.toLowerCase没有必要的括号。()因此,基本上没有括号,您只是试图提供函数的内容,而不是实际调用它。

此外,通常最好不要相信用户正确输入必要的信息,至少不是 100% 的时间。因此,为什么您首先尝试使用该.toLowerCase()功能——以减少人为错误的机会。

因此,正如在其他答案之一中所提到的,您应该有一个 else 块,如下所示:

else {
    // Handle input that does not match either choice
}
于 2017-09-01T01:51:44.800 回答
1

100% 的函数需要以 () 结尾,否则浏览器会将其视为变量

因此,调用成员.toLowerCase()而不是.toLowerCase

于 2017-06-30T22:25:09.347 回答