为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

<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 回答

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

0 回复 有任何疑惑可以回复我~

mydate.setTime()

没有返回值怎么打印出来

0 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~
#1

asmuke 提问者

那我第二个document.write("推迟二小时时间:" + mydate),为什么不像第一个document.write那样输出当前时间呢,执行的时候不是从前往后执行吗,为何执行了推迟两小时的那句呢?
2015-05-07 回复 有任何疑惑可以回复我~
#2

恰北北 回复 asmuke 提问者

在setTime之前,mydate的是当前时间,第一次打印的就是当前时间;然后你setTime对当前时间进行了设置,mydate的值就变为了你新设置的时间,第二次打印出来就是推迟两个小时的了。
2015-05-12 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信