如何创建多个如果JavaScript语句? (关闭)

问题描述 投票:-2回答:2

[关闭作为两个答案都在为这个例子,谢谢!]

我是从一个动态的JSON文件中获取的值(即得到它的值从传感器通过ESP8266阵列)上,我试图让一个不同的单词为传感器的每个值。但正如我试图做到这一点,有条件的计算结果为真实的多条语句。

我需要帮助,条件语句获得了这个词的每个值,例如,如果我得到“25”的价值,我需要显示的只是这个词“悲伤”,而不是词“焦虑”或“幸福”。如果我得到的值“37”,我想只是“高兴”来显示。

下面的代码:

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完全新的,所以请指导我一点点!

javascript arrays if-statement conditional
2个回答
1
投票

你申请错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); 
}

-1
投票

你可以使用更多的花括号和标签,让您若结构更具可读性。

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;
}
© www.soinside.com 2019 - 2024. All rights reserved.