string.toUpperCase困难

时间:2014-09-22 20:59:19

标签: javascript

我的自我教育进展缓慢,而且我遇到了问题。我试图从用户那里获取文本输入。然后,我想要检查输入本身的大写版本。我通过labs.codecademy.com运行代码(如果相关的话)。

代码:

function rollerInput() {
    var input = prompt("Do you want to reroll? You have " + rerolls + " rerolls left. Y/N?");
    input = input.toUpperCase;
    if(input === null) {
        console.log("Please enter Y or N");
        rollerInput();
        } else if(input === "") {
            console.log("Please enter Y or N");
            rollerInput();
        } else if(input === "Y" && rerolls !== 1) {
            rerolls = rerolls -1;
            reRoller();
        } else if(input === "Y" && rerolls === 1) {
            console.log("You have no rerolls left.");   
        }
}

问题在于检查Y或N的ifs.Y和y都没有产生任何反应。我确定我错过了一些简单的东西,但我无法修复它以挽救我的生命。

3 个答案:

答案 0 :(得分:0)

toUpperCase是一种方法,您必须使用方括号()

来调用它
input = input.toUpperCase();

答案 1 :(得分:0)

input = input.toUpperCase函数 toUpperCase存储在变量input中。您想要调用函数。

使用

input = input.toUpperCase();

这是x = function () { }x = (function() { })()之间的区别 - 第一个存储函数,第二个执行函数并存储返回值。

另一个问题是你在检查toUpperCase之前盲目地调用null 。如果用户取消对话框,则会导致错误。当您知道实际将定义null时,您需要在input.toUpperCase项检查中移动测试。

答案 2 :(得分:0)

是的,你没有调用该功能。

input = input.toUpperCase();