【问题标题】:Array, prompt, if, if else statement数组、提示、if、if else语句
【发布时间】:2020-05-26 12:32:39
【问题描述】:

我正在尝试创建如下网页,但代码无法正常工作。有人能解释一下吗?

  • 创建一个完成以下任务的网站:
  • 创建一组您最喜欢的乐队。
  • 根据提示询问用户最喜欢的乐队。
  • 如果它是您的最爱之一,请提醒:“是的,我爱他们!”
  • 如果不是,请警告:“不。他们很蹩脚。”
  • 提示:您需要研究如何使用.indexOf()
  • 提示:您需要研究如何使用.toLowerCase()。\

    <!DOCTYPE html>
    <html lang="en-us">
      <head>
        <meta charset="UTF-8">
        <title>Array Activity - Unsolved</title>
      </head>
      <body>
    
        <script>
    
    
    
         var myBands = ["Chromatics","ACDC","Michael Jackson"];
    
         var UserGuess = prompt("Who is your favourite?");
    
         var userGuessLower = userGuess.toLowerCase(); 
    
    
    
    
          if (myBands.indexOf(userGuessLower) === -1) {
               alert("Na They're pretty lame.");
             }
    
          else {
               alert("OMG I love them too!");
             }
    
          </script>
    
          </body>
    
          </head>
          </html>
    

【问题讨论】:

  • JavaScript 区分大小写,因此UserGuessuserGuess 不同。
  • myBands 中的值也需要小写,否则永远找不到匹配项。

标签: javascript arrays if-statement prompt


【解决方案1】:

您使用userGuess 而不是UserGuess 时出现语法错误。此外,使用toLowerCase() 的目的是在比较时消除两个字符串之间的大小写敏感性,而您所做的是将输入更改为小写,同时保持数组元素具有一些大写字母。这是解决方案:

var myBands = ["chromatics","acdc","michael jackson"];
var UserGuess = prompt("Who is your favourite?");
var userGuessLower = UserGuess.toLowerCase(); 
if (myBands.indexOf(userGuessLower) === -1) {
     alert("Na They're pretty lame.");
}else {
     alert("OMG I love them too!");
}

【讨论】:

    【解决方案2】:
    1. UserGuess 必须是 userGuess。因为 javascript 区分大小写。
    2. 您将提示的输出转换为小写。没关系。但是您忘记将数组的元素转换为小写。

    【讨论】:

      猜你喜欢
      • 2019-04-09
      • 2021-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-05
      • 1970-01-01
      • 2015-07-06
      • 2012-08-05
      相关资源
      最近更新 更多