还有什么地方可以改进(可以运行)

来源:7-23 编程练习

小猪佩奇i

2018-08-24 10:57

<!DOCTYPE  HTML>

<html >

<head>

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

<title>编程练习</title>


<script type="text/javascript">

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

  var update=new Date();

  var year=update.getFullYear();

  var month=update.getMonth();

  var day=update.getDate();

  var num=update.getDay();//获取星期  返回0-6整数

  var weekday='';

  switch(num){

    case 0:

          weekday="星期日";

          break;

    case 1:

         weekday="星期一";

          break;

    case 2:

         weekday="星期二";

          break;

    case 3:

         weekday="星期三";

          break;

    case 4:

          weekday="星期四";

          break;

    case 5:

             weekday="星期五";

          break;

    case 6:

        weekday="星期六";

        break;

  }

  var strtime=year+"年"+(month+1)+"月"+day+"日"+"\n"+weekday;

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

      //第二步:一长窜的字符串不好弄,找规律后分割放到数组里更好操作哦。

      //第三步:分割字符串得到分数,然后求和取整。

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

  var strArr=scoreStr.split(";");//分割后  返回是一个数组

  var sum=0;

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

    var num2=strArr[i].indexOf(":");//返回:在的位置

    var intscore=parseInt(strArr[i].substring(num2+1)); //取出数据  parseInt()字符串类型转成整型。 再求和

        sum+=intscore;

  }

  var avgscore=Math.round(sum/strArr.length);//计算平均成绩  再取整

document.write(strtime+"--班级平均分为:"+avgscore+"分");

</script>

</head>

<body>

</body>

</html>


写回答 关注

2回答

  • 慕粉15692436228
    2018-08-27 11:53:06

    <html>

    <head>

    <title>按格式筛选出数组的中成绩并输出</title>

    </head>    


    <body>

    <script>

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

    var date = new Date();

    console.log(date);

    var year = date.getFullYear(),      //获取年份

    month = date.getMonth() + 1,    //获取月份

    day = date.getDate(),           //获取当前日    

    str = '星期' + '日一二三四五六'.charAt(date.getDay()),  //获取当前星期几

    currentTime = year + '年' + formatDay(month) + '月' + formatDay(day) + '日' + ' ' + str;

    //日期补零操作

    function formatDay(x){

    return x < 10?'0'+x:x;

    }


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

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

    var total = 0, num = 0;

    for(var i=3; i<scoreStr.length; i+=6) {

    total += parseInt(scoreStr.substr(i,i+1));

    num+=1;

    }

    document.write(currentTime + '--班级平均分为:' + Math.round(total/num));

    </script>

    </body>

    </html>


  • 小鱼罐头150
    2018-08-24 16:17:21

    尽可能的减少定义变化量吧,直接写道输出语句

    <!DOCTYPE  HTML>
    <html >
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>系好安全带,准备启航</title>
    <script type="text/javascript">
        var today = new Date();
        var month = today.getMonth()+1;
        var mon=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];
        document.write(today.getFullYear()+"年"+month+"月"+today.getDate()+"日"+  " "+mon[today.getDay()]);
        var scoreStr = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
        var sum=0,num=0;
        for(var i=3;i<scoreStr.length;i+=6){
            sum+=parseInt(scoreStr.substring(i,i+2));
            num+=1;
        }
        document.write("--班级平均分为:"+sum/num);
    </script>
    </head>
    <body>
    </body>
    </html>
    我的一些做法,没有完全按要求来。。。

    慕粉1569... 回复小鱼罐头15...

    哈哈哈 对的应该是substr(i,2)才对

    2018-08-27 17:14:13

    共 3 条回复 >

JavaScript进阶篇

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

468060 学习 · 21891 问题

查看课程

相似问题