为了账号安全,请及时绑定邮箱和手机立即绑定

哪位大神可以帮我看看我的程序哪出错了吗?

 function rec(){
 var score=prompt("请输入您的成绩"); //score变量,用来存储用户输入的成绩值。              ;
   if(score=null)
   {
       document.write("输入成绩");
   }
  
   else if(score>=90)
 {
    document.write("你很棒!");
 }
 else if(score>=75)
    {
    document.write("不错吆!");
 }
 else if(score>=60)
    {
    document.write("要加油!");
    }
  else
  {
      document.write("要努力!");
  }
  }
  rec();
  </script>
</head>
<body>
    <input name="button" type="button" onClick="rec()" value="点击我,对成绩做评价!" />
</body>
</html>


我点击取消按钮,显示的还是要努力并不是返回null,是哪里出错了呢?

正在回答

7 回答

function rec() {

  var score = prompt("请输入您的成绩:");

  if(score== null) {

    document.write("输入成绩");//改为 prompt("输入成绩");

  } else if(score >= 90) {

    document.write("你很棒!");

  } else if(score >= 75) {

    document.write("不错吆!");

  } else if(score >= 60) {

    document.write("要加油!");

  } else {

    document.write("要努力!");

  }

}

rec();

1 回复 有任何疑惑可以回复我~

score=null是赋值



0 回复 有任何疑惑可以回复我~

 if(score==null) 改这个就好了



1 回复 有任何疑惑可以回复我~

更正一下,你在var score=prompt("请输入您的成绩"); 下面写这么一条语句:console.log(typeof score);可以知道score本身的类型就是string,而且类型永远都是为string,输入一些数值测试一下就知道。

要想得到正确的结果,这么写就可以了:

function rec() {

  var score = prompt("请输入您的成绩:");

  if(score.length == 0) {

    document.write("输入成绩");

  } else if(score >= 90) {

    document.write("你很棒!");

  } else if(score >= 75) {

    document.write("不错吆!");

  } else if(score >= 60) {

    document.write("要加油!");

  } else {

    document.write("要努力!");

  }

}

rec();


0 回复 有任何疑惑可以回复我~
#1

一壶时光 提问者

谢谢大神解疑~
2018-05-29 回复 有任何疑惑可以回复我~

score是整型,应该是字符串类型才可以判断是否为空,typeof 'score' == 'string'就可以了。score.length == 0进行为空判断。

0 回复 有任何疑惑可以回复我~
#1

一壶时光 提问者

谢谢解答~
2018-05-28 回复 有任何疑惑可以回复我~

谢谢大神哈

0 回复 有任何疑惑可以回复我~

你与第一个if对应的else就是document.write("要努力");啊  想返回null就写成document.write("null");

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

哪位大神可以帮我看看我的程序哪出错了吗?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信