ror 循环后面的document.write内容无法显示吗

来源:7-23 编程练习

yelllowsky

2017-02-23 13:17

<!DOCTYPE  HTML>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>系好安全带,准备启航</title>

<script type="text/javascript">
var myd=new Date();
document.write(myd+"<br>");
var myday=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];
document.write("今天是"+myday[myd.getDay()]+"<br>");
  //通过javascript的日期对象来得到当前的日期,并输出。
  //成绩是一长窜的字符串不好处理,找规律后分割放到数组里更好操作哦
  var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
  var STR=scoreStr.split(";");
 document.write(STR+"<br>");
document.write("学生"+"<br>");
 var score=new Array();
 var sum=0;
for(i=0;i<=STR.length;i++)
{
score[i]=parseInt(STR[i].substring(STR[i].indexOf(":")+1));
sum+=score[i];
document.write(Math.round(sum/score.length)+"<br>")};
document.write("学生"+"<br>");
document.write("123");
  //从数组中将成绩撮出来,然后求和取整,并输出。
</script>
</head>
<body>
</body>
</html>

输出结果:

Thu Feb 23 2017 13:14:07 GMT+0800 (中国标准时间)
今天是星期四
小明:87,小花:81,小红:97,小天:76,小张:74,小小:94,小西:90,小伍:76,小迪:64,小曼:76
学生
87
84
88
85
83
85
86
84
82
82

为什么for循环后面的document.write()语句里面的内容都显示不出来

写回答 关注

2回答

  • 璐哥
    2017-02-23 15:20:53

    for(i in STR){

    score[i]=STR[i].substring(STR[i].indexOf(":")+1);

    var num = parseInt(score[i])

    sum+=num;

    };

    document.write(Math.round(sum/score.length)+"<br>")

    document.write("学生"+"<br>");

    document.write("123");



    直接给score[i]赋值是不正确的写法,我给你改过来了,另外for循环里不要写输出,否则会输出全部的计算结果,我们只是想要最终总和,写在外面。

    yelllo...

    改完最后面的学生和123还是没有显示出来啊

    2017-02-24 09:46:34

    共 1 条回复 >

  • 如子
    2017-02-23 15:04:03

    1:for循环 i<STR.length。因为数组的下标是从0开始的,如果数组array=[1,2,3,4,5],ayyay.length就是5,遍历数组如果从0开始,遍历到4就可以了。

    2:document.write(Math.round(sum/score.length)+"<br>")把这句放在for循环外面。

JavaScript进阶篇

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

468061 学习 · 21891 问题

查看课程

相似问题