【问题标题】:Beginner in javascript: confirm/codejavascript初学者:确认/代码
【发布时间】:2013-01-22 01:08:43
【问题描述】:

我是使用 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?");
}

有人可以评论吗?

【问题讨论】:

  • Joseph 指出了语法错误(如下),但还请注意,您当前没有对 confirm() 的返回值做任何事情 - 这不是语法错误,但确实意味着您的代码不会工作。此外,标准的 confirm() 提示始终有 OK 和 Cancel 按钮(您不能将它们更改为 Yes 和 No),因此您应该以一种对用户使用 OK 或 Cancel 回答有意义的方式来表述您的确认消息。

标签: javascript confirm


【解决方案1】:

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


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

【讨论】:

    【解决方案2】:

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

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

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

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

    【讨论】:

      【解决方案3】:

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

      因此,请致电会员.toLowerCase() 而不是.toLowerCase

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-05-04
        • 1970-01-01
        • 1970-01-01
        • 2014-10-06
        • 2012-04-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多