问答详情
源自:7-23 编程练习

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

<!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()语句里面的内容都显示不出来

提问者:yelllowsky 2017-02-23 13:17

个回答

  • 璐哥
    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循环里不要写输出,否则会输出全部的计算结果,我们只是想要最终总和,写在外面。

  • 如子
    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循环外面。