Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript初学者:确认/代码_Javascript_Confirm - Fatal编程技术网

javascript初学者:确认/代码

javascript初学者:确认/代码,javascript,confirm,Javascript,Confirm,我是一个使用代码学院学习的初学者,我正在尝试用JavaScript编写一个简单的游戏,只是为了扩展我的理解。我无法解释为什么我的前几行代码不起作用。我想做的应该很明显,但是确认命令根本不起作用 代码如下: var classChoice=prompt("You need to choose a class. Will you play as a wizard or as a warrior?").toLowerCase; if (classChoice==="wizard"){ c

我是一个使用代码学院学习的初学者,我正在尝试用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?");
}

有人可以评论吗?

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



注意:当他们输入一个值而不是您正在检查的2时会发生什么…?

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


因此,在代码中调用成员
.toLowerCase()
而不是
.toLowerCase

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

此外,通常最好不要相信用户正确地输入必要的信息,至少不是100%的时间。因此,您首先要尝试使用
.toLowerCase()
函数,以减少人为错误的可能性

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

else {
    // Handle input that does not match either choice
}

Joseph指出了语法错误(见下文),但也请注意,您当前没有对confirm()的返回值执行任何操作-这不是语法错误,但确实意味着您的代码无法工作。此外,标准的confirm()提示符始终具有“确定”和“取消”按钮(您不能将它们更改为“是”和“否”),因此您应该以一种用户可以用“确定”或“取消”来回答的方式来表达确认消息。