为什么第二个设置成 document.write("推迟二小时时间:" + mydate.setTime())不可以啊?

来源:7-5 返回/设置时间方法

asmuke

2015-05-06 14:47

很奇怪为什么这样写不可以

<script type="text/javascript">

 var mydate=new Date();

  document.write("当前时间:"+mydate+"<br>");

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

  document.write("推迟二小时时间:" + mydate.setTime());//为什么不是mydate.setTime();

</script>


请问第二个document.write下面两种写法的内在区别是什么呢?

第一种写法

document.write("推迟二小时时间:" + mydate.setTime())

第二种写法

document.write("推迟二小时时间:" + mydate);//为什么不可以用mydate.setTime()替换mydate呢

写回答 关注

3回答

  • qq_Alliswell_5
    2016-03-22 09:34:32

    遇同样问题,应该是mydate 是定义值, mydate.setTime 是个执行动作,这样理解吗?返回只能返回值不能返回动作。不晓得对不

  • 烜烜
    2016-02-15 22:18:19

    mydate.setTime()

    没有返回值怎么打印出来

  • 康振宁
    2015-05-06 18:34:19

    mydate.setTime()这个玩意是设置时间的,你打印他没什么意思,直接出NaN是正常的,你打印的要么就是字符串,要不就数值,或者打印数组都能出点什么,但是这个是往里面写值的所以没什么意义

    恰北北 回复asmuke

    在setTime之前,mydate的是当前时间,第一次打印的就是当前时间;然后你setTime对当前时间进行了设置,mydate的值就变为了你新设置的时间,第二次打印出来就是推迟两个小时的了。

    2015-05-12 19:11:41

    共 2 条回复 >

JavaScript进阶篇

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

468061 学习 · 21891 问题

查看课程

相似问题