如何在 JavaScript 中创建多个 if 语句? (关闭)

How to create multiple if statements in JavaScript? (closed)

[关闭,因为两个答案都适用于此示例,谢谢!]

我正在从动态 JSON 文件中获取值(即通过 ESP8266 从传感器获取数组值)并且我正在尝试为每个值获取不同的词传感器。但是当我尝试这样做时,条件对多个语句的计算结果为真。

我需要有关条件的帮助以获取每个值的单词,例如,如果我将“25”作为值,我需要只显示单词 'sad',而不是单词 'anxious' 或 'happy'。如果我得到值“37”,我只想显示 'happy'。

代码如下:

if (val0 > 40){
 fill(255,0,0);
 textSize(15);
 text('anxious',width/2-50,70); 

} else if (val0 > 35) {
 fill(255,200,0);
 textSize(15);
 text('happy',width/2-50,70); 

} else if (val0 > 20){
 fill(0,0,255);
 textSize(15);
 text('sad',width/2-50,70); 

} else {
 fill(255);
 textSize(15);
 text('nothing',width/2-50,70); 
}

如您所见,我对 js 完全陌生,所以请多多指导!

您在 if 语句中应用了错误的条件,考虑数字 45,它将满足所有 3 个条件,即 >40 >35 和 >20,代码遇到的第一个条件将适用,即 >40条件,以便执行该块内的代码。您必须应用

范围内的条件

if (val0 >= 40){
 fill(255,0,0);
 textSize(15);
 text('anxious',width/2-50,70); 

} else if (val0 >= 35 && val0<40) {
 fill(255,200,0);
 textSize(15);
 text('happy',width/2-50,70); 

} else if (val0 >= 20 && val0<35){
 fill(0,0,255);
 textSize(15);
 text('sad',width/2-50,70); 

} else {
 fill(255);
 textSize(15);
 text('nothing',width/2-50,70); 
}

您可以使用更多花括号和制表符来使您的 if 结构更具可读性。

if(condition)
{
//do something
}
else
{
    if(condition)
    {
    //do something
    } 
    else
    {
        if(condition)
        {
        //do something
        } 
    }
}

但我确实认为您的特定问题更适合使用 switch 语句

*****编辑******

switch (true) {
    case (val >= 40):
       //do something
       break;
    case (val >= 35):
        //do something;
        break;
    case (val >= 25):
        //do something;
        break;
    default:
        //do something;
        break;
}