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
我的代码格式可能出错?
答案 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)
或删除此条件。
否则不能有条件