我开始写的代码为:
<pre>
<script type="text/javascript">    var i,today,week;
week=new Array("星期日","星期一","星期二","星期三","星期四","星期五","星期六");
today=new Date();
i=today.getDate();
document.write(week[i]);</script>
</pre>我以为应该可以输出正确结果的,没想到却输出了个“undefined”,然后我再把 document.write(week[i])
改为 document.write(i) ,测试出 i 的值为 22 ,然后我把 document.write(week[i]) 改为 document.write(week[i-16]) 它就能正确显示今天是星期几了,这是怎么回事 ?document.write(week[i]) 错在哪呢?

解决方案 »

  1.   

    单单根据你的代码
    week 是 array 长度是 7 也就是 week的索引范围从 0-6i的值是 22 (是你自己说的) 那么 week[i] ==》week[22] 显然22 超过了 week的索引范围 (错)另外从 代码的逻辑上来说 你要获取的是 当前日期是星期几
    但是 new Date().getDate() 获取的值是日期(也就是当月的几号)
    new Date().getDay  才是获取当前是一周的第几天 《---这个是你想要的
      

  2.   

     i = today.getDay();not getDate()
      

  3.   

    哦 ·····原来是我记错了!!1星期几的是getDay才对!!太粗心啦 呜呜 以后的编程路改怎么走啊 !!!