问答详情
源自:7-5 返回/设置时间方法

问个小问题

<script type="text/javascript">

var mydate = new Date();

document.write(mydate);

mytime=mydate.setTime(mydate.getTime()+2* 60 * 60 * 1000);

                        

document.write(mytime);


</script>

mytime输出为什么是一串数字


若是这样就正常了

<script type="text/javascript">

var mydate = new Date();

document.write(mydate);

mydate.setTime(mydate.getTime()+2* 60 * 60 * 1000);

                        

document.write(mydate);


</script>


为什么添加一个变量后就输出的不一样了呢



提问者:公孙扬眉 2014-12-09 11:54

个回答

  • 闹小志
    2014-12-09 15:13:41

    说一说我的理解:

      Date对象是以毫秒数来保存日期并且以一定的形式对我们展现(根据浏览器的不同会有差别)。在第一段代码中,你给mydate.setTime()赋给了一个变量,setTime这个方法是根据毫秒数来设置日期的,并且ECMAScript 标准化之后它是有返回值的,也就是说实际上你是把setTime方法的返回值赋给了mytime这个变量,而它的返回值就是它的参数,而它的参数正是毫秒值,所以你加了变量所得到的那一串数字正是你给mydate设置的日期的毫秒值;现在来说一下为什么没有变量输出mydate就是有格式的字符串,最开始我提到过Date对象,正是因为mydate是一个Date对象呀,setTime方法给mydate设置了毫秒值,使mydate的时间有了改变,但是作为Date对象的展现形式是不会变的。个人拙见,不晓得有没有误导你!