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

问个小问题

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


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



正在回答

1 回答

说一说我的理解:

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

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

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468195    人
  • 解答问题       21891    个

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

进入课程

问个小问题

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