如何在 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;
}
[关闭,因为两个答案都适用于此示例,谢谢!]
我正在从动态 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;
}