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

帮帮我,i<=score.length为什么不行,还有getMonth为什么要加一,getDate就不用

<script type="text/javascript">

     var mydate=new Date();

     var myyear=mydate.getFullYear();

     var mymonth=mydate.getMonth()+1;//为什么要加一

     var myday=mydate.getDate();

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

     var mynum=mydate.getDay();

     document.write(myyear+"年"+mymonth+"月"+myday+"日"+weekday[mynum]);

     

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

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

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

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

  var sum=0;

  var avg=0;

  for(var i=0;i<score.length;i++){//一,i<=score.length为什么不行

      sum=sum+parseInt(score[i].slice(3,5));

  }

  avg=sum/score.length;

  document.write(parseInt(avg));


提问者:快乐购 2016-08-09 13:52

个回答

  • 26ne3766843
    2016-08-09 15:45:47
    已采纳

    i<=score.length 不行?

    答:以;为一组,i<9  score数组共有9个 下标是从0-8共9个

     i<=9 score数下标从0-9共10个 

       如下:从0开始计数 0+1=1 第一

     1+1=2      第二

    2+1=3   第三

    。。。

    8+1=9  第九

    9+1=10 第十

    共有9个数组   现在i=10 i<=9不成立 所以i<=score.length不成立。

    getMonths 为何加 1?

    getMonths 同样是个定义的数组 数组定义从0-11 共12个(一月、二月--十二月对应0,1,2--11);

    第0月没有 所以要+1。 

    getdate不用是因为 js库里有对应的时间库对应着日期小时秒  直接调用就可以了。

  • qq_一粒糖_03771861
    2016-08-09 15:02:05

    getMonth返回的是0-11,所以要加1,;i<=score.length 不行是因为你设定i=0,score.length越界了,如果设置为i=1的话i<=score.length 就可以了

  • 慕尼黑0070873
    2016-08-09 14:41:08

    是以数组形式来存储月份的。下标是从0-11

  • 慕先生0487950
    2016-08-09 14:40:56

    getMonth+1是因为一月是0,十二月是11,要正常显示的话就+1

    getDate应该可以吧