否则if Statement(最后一个条件总是被选中)

时间:2018-03-01 16:19:52

标签: javascript

if (q1 == "1-25") {
    score = 0;
}
else if (q1 == "26-40"){
    score = 5;
}
else if (q1 == "41-60"){
    score = 8;
}
else (q1 == "60+")
    score = 10;

这是我选择测试的一段代码,但无论我选择什么选项,得分变量总是选择10

我的代码格式可能出错?

3 个答案:

答案 0 :(得分:2)

else不应该跟一个条件。 Javascript不需要大括号,所以它可能将条件作为语句执行(因为else不接受条件),然后最终得分是if-else逻辑之外的单独语句。 / p>

如果我向您当前的代码添加大括号,您可以看到问题所在:

if (q1 == "1-25") {
    score = 0;
}
else if (q1 == "26-40"){
    score = 5;
}
else if (q1 == "41-60"){
    score = 8;
}
else 
{
    (q1 == "60+");
}
score = 10;

所以你可以看到,因为你使用的是else而不是else if,所以“条件”由else执行,被评估为true / false然后被抛弃。然后,在if语句完成后,得分设置为10.

答案 1 :(得分:2)

问题在于:

 } else (q1 == "60+");
 score = 10;

感谢ASI,(q1 == "60+")是在else部分运行的表达式,score = 10总是在if / else之后执行。可能会这样做:

  } else {
   score = 10;
  }

或者

 } else if (q1 == "60+"){
   score = 10;
 }

请始终使用分号分隔语句和花括号来注释块。

答案 2 :(得分:1)

这是问题

echo 'select * from test1'|psql > test1.date.txt

您缺少rowid test1 -------+---------------------- 1 hi 2 no (2 rows)

或删除此条件。

  

否则不能有条件