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

为什么SUM最后结果是NaN?

<script>

var scorestr="小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";

var score=scorestr.split(";");

var sum=0;

var indexs;

for(var i=0;i<score.length;i++){

indexs=score[i].indexOf(":");

var show=score[i].substr(indexs+1);

sum+=parseInt(show);

}

document.write(+"总成绩:"+ sum);

document.write(+"平均成绩为:"+ Math.ceil(sum/score.length));

</script>


正在回答

4 回答

感觉实际上是他讲解的逻辑先后的问题,imageObj.src应该在前面赋值,就好理解了。onload方法是加载的时候的回调函数

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

<!DOCTYPE  HTML>

<html >

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>系好安全带,准备启航</title>


<script type="text/javascript">


  //通过javascript的日期对象来得到当前的日期,并输出。

  var date=new Date();

  var day=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];

  document.write(day[date.getDay()]);

  //成绩是一长窜的字符串不好处理,找规律后分割放到数组里更好操作哦

  var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76;";

var s=scoreStr.split(/.{2}:(\d*);/);//正则匹配


var sum=0;


    for(var i=0;i<s.length;i++){


  if(s[i]!=""){//因为会分割出空格符


document.write(s[i]+"<br/>")


sum+=parseInt(s[i]);




}


//document.write(s[i]);


    }


document.write(sum/(s.length/2));//所以长度除以2

 



  //从数组中将成绩撮出来,然后求和取整,并输出。

  



</script>

</head>

<body>

</body>

</html>


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

去掉document.write()中第一个加号就行了。

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

...你仔细看看你“document.write()"里面,是不是都多了一个加号

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

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468046    人
  • 解答问题       21891    个

本课程从如何插入JS代码开始,带您进入网页动态交互世界

进入课程

为什么SUM最后结果是NaN?

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