吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1834|回复: 15
收起左侧

[已解决] JS基础:if, else if 多重条件语句

[复制链接]
clearwater 发表于 2020-2-8 21:16
本帖最后由 clearwater 于 2020-2-8 21:23 编辑

1、由于能量有限,加上问题简单,所以我只给前两位,回答正确,并且能帮我理解的大神评分。后面的人的答案如果雷同,我只能表示感谢了。请恕不一一评分了。(今天没有能量,要明天再评分。)
2、请口下留情,不要来讥讽我;另外不要来回答与我的问题无关的帖子。比如:感谢,路过,帮顶,我也不懂。

下面的代码是某前端的视频教程的案例。我自己没看答案先写。我想请教一下,为什么只有if 这个语句能正确执行,而后面else if 跳出的答案是错的?

然后我去看了教程的答案,好象我的else if 的条件设置是错的。视频中老师是这样写的: else if ( score >80) {alert ('B') }.

请教一下,为什么我的else if 的条件写是错的?
[JavaScript] 纯文本查看 复制代码
<!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 编辑

条件不能够连写
要分开
[JavaScript] 纯文本查看 复制代码
if (score >= 90) {
            alert('A');
        } else if (80 <= score and  score < 90) {
            alert('B');
        } else if (70 <= score and  score < 80) {
            alert('C');
        } else if (60 <= score and  score < 70) {
            alert('D');
        } else {
            alert('E');
        }

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
clearwater + 1 + 1 非常感谢帮助

查看全部评分

 楼主| clearwater 发表于 2020-2-8 21:21
傻小猪 发表于 2020-2-8 21:18
条件不能够连写
要分开
[mw_shl_code=javascript,true]if (score >= 90) {

谢谢。那and 可以写成&& 吗?
傻小猪 发表于 2020-2-8 21:22
 楼主| clearwater 发表于 2020-2-8 21:23

非常感谢您的帮助。

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

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

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

嗯,继续加油!
 楼主| 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 同理。

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
clearwater + 1 + 1 非常感谢,而且回答能理论上解释很清楚

查看全部评分

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

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

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

小年轻在奋斗 发表于 2020-2-8 22:04
1.条件判断不能连写,区间的话,就写成两段,&&
2.你这个else if 不用写成两段,因为if不成立的话,就是score<90,节省判断时间
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-26 20:34

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表