为什么这样子写会没有输出?

来源:7-23 编程练习

司gay

2018-08-08 11:51

不套for循环就可以输出到

<!DOCTYPE  HTML>

<html >

<head>

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

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


<script type="text/javascript">


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

  var weekday = ["星期天","星期一","星期二","星期三","星期四","星期五","星期六"];

  var day = new Date();

  document.write(day.getFullYear() + "年" + day.getMonth() + "月" + day.getDate() + "日 " + weekday[day.getDay()] + "<br/>");

  

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

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

  var scoreO = new Array(10);

  var i=0,j=0,k=0,sum=0,p;

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

      i=scoreStr.indexOf(":",i);

      //sum += scoreStr.substring(i+1,i+3);

      scoreO[k]=scoreStr.substring(i+1,i+3);

      k++;

  }

  for(k=0;k<scoreO.length;k++){

      sum += scoreO[k];

  }

  p=sum/k;


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

  document.write(p)

</script>

</head>

<body>

</body>

</html>


写回答 关注

4回答

  • niannianyo
    2018-08-10 17:34:27

    复制的时候scoreStr那行没显示完整你可以补上

  • niannianyo
    2018-08-10 17:31:44
    <!DOCTYPE  HTML>
    
    <html >
    
    <head>
    
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    
        <title>系好安全带,准备启航</title>
        <script type="text/javascript">
            //通过javascript的日期对象来得到当前的日期,并输出。
    
            var weekday = ["星期天","星期一","星期二","星期三","星期四","星期五","星期六"];
    
            var day = new Date();
    
            document.write(day.getFullYear() + "年" + day.getMonth() + "月" + day.getDate() + "日 " + weekday[day.getDay()] + "<br/>");
    
    
    
            //成绩是一长窜的字符串不好处理,找规律后分割放到数组里更好操作哦
    
            var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
    
            var scoreO = new Array();
    
            var arr=new Array();
            arr=scoreStr.split(";");
    
            var i=0,j=0,k=0,sum=0,p;
    
            for(i=0;i<10;i++){
    
                j=parseInt(arr[i].indexOf(":"));
    
    
                scoreO[k]=arr[i].substring(j+1);
                k++;
    
            }
            for(k=0;k<scoreO.length;k++){
    
                sum = parseInt(scoreO[k])+parseInt(sum);
    
            }
            //从数组中将成绩撮出来,然后求和取整,并输出。
            document.write(sum);
    
        </script>
    
    </head>
    
    <body>
    
    </body>
    
    </html>


  • niannianyo
    2018-08-10 17:15:13

    不要 用 i=了 换个 变量,比如j=

  • 司gay
    2018-08-08 14:26:40

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

    找到问题了,是这里打错了个单词

    然后出现了新问题

    i=scoreStr.indexOf(":",i);

    不注释掉这一句一运行就会崩溃

    司gay

    有大神指点下吗?

    2018-08-08 14:27:33

    共 1 条回复 >

JavaScript进阶篇

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

468061 学习 · 21891 问题

查看课程

相似问题