老师,为什么只有输入为空的情况下执行了,其他条件都不执行

老师,为什么只有输入为空的情况下执行了,其他条件都不执行

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>判断成绩</title>
</head>
<body>
    <script>
    var score=prompt("请输入您的成绩");
    if(score==""){
    alert("请输入您的成绩后查询");
    score=prompt("请输入您的成绩");
    }
    else if(typeof(score)!=number){ 
    alert("请重新输入数字后查询");
    score=prompt("请输入您的成绩");
    }
   else if(score<0||score>100 ){
        alert("您输入的成绩超出限制,请重新输入");  
        score=prompt("请输入您的成绩");
    }
   else if(score<60){
        alert("不及格");  
    }
    else if(score>80){
        alert("您的成绩为优");
    }
    else{
        alert("您的成绩刚及格");   
    } 
</script> 
</body>
</html>


正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好, 因为第一次输入不正确的时候, 再次弹出框输入值之后,已经结束了if执行的语句, 无法再进行判断了。

如果想要实现的循环提示用户直到输入正确的的内容, 需要结合循环语句实现哦, 目前阶段我们还没有学习while语句,老师这里先给同学举个实例:

http://img1.sycdn.imooc.com//climg/5d43134d000132e814501224.jpg

同学不用纠结具体的意思, 可以先结合示例测试一下效果即可, 后面章节老师就会讲解while语句了,到时候同学自然就明白了

http://img1.sycdn.imooc.com//climg/5d4313880001522407840918.jpg

如果帮助到了你,欢迎采纳!

祝学习愉快~~~


  • 技术为王2383098363 提问者 #1
    老师,while(ture)是判断的是什么条件
    2019-08-02 11:11:18
  • 同学你好, while(true), 就是让循环条件一直成立, 这样才能实现一直循环弹出窗口, 在满足条件的时候才使用break关键字退出循环。 同学可以将其理解为是一个特殊的写法,这些知识点在后面的课程都会讲解到, 目前阶段同学简单了解即可, 祝学习愉快~~~
    2019-08-02 11:19:01
  • 老师,while(true)的地方报错了,另外一条评论有截图
    2019-08-02 11:46:09
好帮手慕慕子 2019-08-01 19:43:19

同学你好,首先判断类型的时候Number单词首字母忘记大写,导致代码报错。

另, 使用prompt返回的就是字符串类型的数据,所以这里不可以使用Number进行类型判断。

建议修改:使用isNaN方法进行判断哦吗,然后判断条件也需要修改一下

http://img1.sycdn.imooc.com//climg/5d42d04b0001586805940559.jpg

如果帮助到了你, 欢迎采纳!

祝学习愉快~~~~



  • 提问者 技术为王2383098363 #1
    当输入不正确时,第二次弹窗输入的数字为什么不能做判断呢?
    2019-08-01 19:56:55
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师