Javascript 不区分大小写的提示,即使使用toLowerCase也不起作用

Javascript 不区分大小写的提示,即使使用toLowerCase也不起作用,javascript,jquery,html,web,Javascript,Jquery,Html,Web,我正在学习JavaScript,并决定编写一段基本的切换代码。我试图使用.toLowerCase使我的提示输入不区分大小写。然而,这是行不通的: document.getElementById("button").onclick=function(){ var question = prompt("How do you do"); switch(question) { case "Great".toLowerCase: alert("Excell

我正在学习JavaScript,并决定编写一段基本的切换代码。我试图使用.toLowerCase使我的提示输入不区分大小写。然而,这是行不通的:

document.getElementById("button").onclick=function(){
   var question = prompt("How do you do");
    switch(question) {
       case "Great".toLowerCase: 
          alert("Excellent!");
          break;
       case "Good".toLowerCase: 
          var question_2 = prompt("Could it be better?");
         if(question_2 == "yes") {
           alert("Well lets hope tomorrow is better!")     
         }
         else {
           alert("Phew! You got me for a moment!")   
         }
         break;
       case "Bad".toLowerCase:
          var q_3=prompt("What happened!");
         if(q_3) {
           alert("I hope tomorrow is better!");
         }
         else {
          alert("I didn't quite get that..");
         }
         break;
       default: alert("I didn't understand...");
     }
  }

每次我插入文本,无论是正确的还是错误的,我总是会得到“我不明白”,我认为任何输入都是错误的。例如,如果我在“问题”提示中插入“伟大”或“伟大”甚至“伟大”,我将始终收到“我不明白”作为警报。有什么帮助吗?

请尝试在
提示符下的返回结果中使用
toLowerCase()
方法

document.getElementById("button").onclick=function() {
  var question = prompt("How do you do") || "";

  switch(question.toLowerCase()) {
     case "great": 
        alert("Excellent!");
        break;
     case "good": 
        var question_2 = prompt("Could it be better?") || "";
       if(question_2.toLowerCase() == "yes") {
         alert("Well lets hope tomorrow is better!")     
       }
       else {
         alert("Phew! You got me for a moment!")   
       }
       break;
     case "bad":
        var q_3 = prompt("What happened!") || "";
       if(q_3) {
         alert("I hope tomorrow is better!");
       }
       else {
        alert("I didn't quite get that..");
       }
       break;
     default: alert("I didn't understand...");
   }

};

HTH.

这里有几个问题:

  • 您需要在问题上调用toLowerCase(),而不是在比较问题的值上。这样,如果用户键入“GrEaT”,它将在对照字符串文本进行检查之前转换为“GrEaT”
  • toLowerCase是一种方法。因此,必须在末尾用()调用它。如果调用变量“x”上的方法,则代码为x.toLowerCase()
  • case条件也需要小写,以便与小写问题匹配,例如,“Great”需要是“Great”

  • 如果取消提示怎么办<代码>问题
    将为空并抛出error@charlietfl接得好!我已经编辑了我的答案。Thnx.小写值永远不会达到任何大小写条件。您必须将提示转换为小写,并直接将大小写转换为小写
    var question=prompt(“你好”).toLowerCase()