clearwater 发表于 2020-2-8 21:16

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:18

本帖最后由 傻小猪 于 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');
      }

clearwater 发表于 2020-2-8 21:21

傻小猪 发表于 2020-2-8 21:18
条件不能够连写
要分开
if (score >= 90) {


谢谢。那and 可以写成&& 吗?

傻小猪 发表于 2020-2-8 21:22

clearwater 发表于 2020-2-8 21:21
谢谢。那and 可以写成&& 吗?

这个可以的

clearwater 发表于 2020-2-8 21:23

傻小猪 发表于 2020-2-8 21:22
这个可以的

非常感谢您的帮助。

明天再给您评分,今天的能量都用光辣。

{:301_987:}

傻小猪 发表于 2020-2-8 21:25

clearwater 发表于 2020-2-8 21:23
非常感谢您的帮助。

明天再给您评分,今天的能量都用光辣。

嗯,继续加油!{:300_964:}

clearwater 发表于 2020-2-8 21:26

本帖最后由 clearwater 于 2020-2-8 21:27 编辑

版主,不好意思。我是想点看看,还有没有能量,想给他评分。不过点错了,变成点举报“傻小猪”。我不是要举报楼中的“傻小猪”。

PyCode 发表于 2020-2-8 21:50

首先,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 同理。

clearwater 发表于 2020-2-8 21:55

PyCode 发表于 2020-2-8 21:50
首先,80 < score < 90 这种完全是语法错误:< 操作符是二元操作符,并且不存在a < b < c 这样的三元操作符 ...

非常感谢您从理论上讲得这么清楚。

明天有能量也给您补评分。现在手上没有热心值了。

{:301_987:}

小年轻在奋斗 发表于 2020-2-8 22:04

1.条件判断不能连写,区间的话,就写成两段,&&
2.你这个else if 不用写成两段,因为if不成立的话,就是score<90,节省判断时间
页: [1] 2
查看完整版本: JS基础:if, else if 多重条件语句