JS基础:if, else if 多重条件语句
本帖最后由 clearwater 于 2020-2-8 21:23 编辑1、由于能量有限,加上问题简单,所以我只给前两位,回答正确,并且能帮我理解的大神评分。后面的人的答案如果雷同,我只能表示感谢了。请恕不一一评分了。(今天没有能量,要明天再评分。)
2、请口下留情,不要来讥讽我;另外不要来回答与我的问题无关的帖子。比如:感谢,路过,帮顶,我也不懂。
下面的代码是某前端的视频教程的案例。我自己没看答案先写。我想请教一下,为什么只有if 这个语句能正确执行,而后面else if 跳出的答案是错的?
然后我去看了教程的答案,好象我的else if 的条件设置是错的。视频中老师是这样写的: else if ( score >80) {alert ('B') }.
请教一下,为什么我的else if 的条件写是错的?{:1_904:}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script>
var score = prompt('please input your score');
if (score >= 90) {
alert('A');
} else if (80 < score < 90) {
alert('B');
} else if (70 < score < 80) {
alert('C');
} else if (60 < score < 70) {
alert('D');
} else {
alert('E');
}
</script>
</head>
<body>
</body>
</html> 本帖最后由 傻小猪 于 2020-2-8 21:20 编辑
条件不能够连写
要分开
if (score >= 90) {
alert('A');
} else if (80 <= score andscore < 90) {
alert('B');
} else if (70 <= score andscore < 80) {
alert('C');
} else if (60 <= score andscore < 70) {
alert('D');
} else {
alert('E');
} 傻小猪 发表于 2020-2-8 21:18
条件不能够连写
要分开
if (score >= 90) {
谢谢。那and 可以写成&& 吗? clearwater 发表于 2020-2-8 21:21
谢谢。那and 可以写成&& 吗?
这个可以的 傻小猪 发表于 2020-2-8 21:22
这个可以的
非常感谢您的帮助。
明天再给您评分,今天的能量都用光辣。
{:301_987:} clearwater 发表于 2020-2-8 21:23
非常感谢您的帮助。
明天再给您评分,今天的能量都用光辣。
嗯,继续加油!{:300_964:} 本帖最后由 clearwater 于 2020-2-8 21:27 编辑
版主,不好意思。我是想点看看,还有没有能量,想给他评分。不过点错了,变成点举报“傻小猪”。我不是要举报楼中的“傻小猪”。
首先,80 < score < 90 这种完全是语法错误:< 操作符是二元操作符,并且不存在a < b < c 这样的三元操作符,所以这样的表达式是错误的。
其次,80 < score < 90 中的< 90也是不需要的,因为用了 if ... else if 条件控制,如果程序能执行到else if (80 < score < 90) 条件的判断语句,说明前面的 if(score >= 90) 的结果为false,也即score值必然小于90,也就没必要在 else if 条件里再判断 < 90,之后的else if 同理。 PyCode 发表于 2020-2-8 21:50
首先,80 < score < 90 这种完全是语法错误:< 操作符是二元操作符,并且不存在a < b < c 这样的三元操作符 ...
非常感谢您从理论上讲得这么清楚。
明天有能量也给您补评分。现在手上没有热心值了。
{:301_987:} 1.条件判断不能连写,区间的话,就写成两段,&&
2.你这个else if 不用写成两段,因为if不成立的话,就是score<90,节省判断时间
页:
[1]
2