【问题标题】:I am Having Trouble with an if statement [duplicate]我在使用 if 语句时遇到问题 [重复]
【发布时间】:2019-11-13 21:52:28
【问题描述】:

我正在执行一项任务并且遇到了一个问题。我正在尝试编写 if,else 语句。问题是没有运行 else 语句。这是我的工作:

var age = "2"; //given age
var floorType = "floor"; //given floor (floor or balcony)
var floorS = "10"; 
var balconyS = "6"; 

//toddler1
if (floorType = "floor" && age <= 4) {
    print ("Floor Ticket:" + " "+ "Free"); 
} else if (floorType = "balcony" && age <=4) {
    print ("Balcony Ticket:" + " "+ "Free");
}

当代码执行时,您可以看到 else 语句不起作用,它只是打印第一个 if 语句中的数据。

【问题讨论】:

  • 您需要===== 进行比较。单个= 是一个分配。
  • ==代替===是逻辑运算符,=用于赋值
  • 而且你的 else 语句无论如何都不会被执行,因为floorType 是“地板”并且age 低于 4。

标签: javascript


【解决方案1】:

使用“if”和“else”等条件语句时,需要使用“===”而不是“=”

"=" 正在分配您的变量而不是比较。

所以你的代码应该是 -

var age = "2"; //given age
var floorType = "floor"; //given floor (floor or balcony)
var floorS = "10"; 
var balconyS = "6"; 

//toddler1
if (floorType === "floor" && age <= 4) {
    print ("Floor Ticket:" + " "+ "Free"); 
} else if (floorType === "balcony" && age <=4) {
    print ("Balcony Ticket:" + " "+ "Free");
}

【讨论】:

    【解决方案2】:

    您的 if 条件需要更正。见下文。

    var age = "2"; //given age
    var floorType = "floor"; //given floor (floor or balcony)
    var floorS = "10"; 
    var balconyS = "6"; 
    
    //toddler1
    
    if (floorType === "floor" && age <= 4) {
        print ("Floor Ticket:" + " "+ "Free"); 
    } else if (floorType === "balcony" && age <=4) {
        print ("Balcony Ticket:" + " "+ "Free");
    }
    

    您需要将= 替换为=====

    = 用于赋值,就像你想给变量赋值一样。 ===== 用于相等,例如当您想查看变量是否已经等于某个值时。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多