如果把var time=new Date() 定义在函数外部为什么被调用后时间不会变?

来源:8-3 计时器setInterval()

慕后端9646151

2016-11-24 21:55

var attime;
  var time=new Date();
  function clock(){
             
    attime= time.getHours()+"时"+time.getMinutes()+"分"+time.getSeconds()+"秒" ;
    document.getElementById("clock").value = attime;
  }
setInterval("clock()",100);

1。为什么把时间定义在外部的话调用函数后时间不会变?

2.document.getElementById(".clock").value = attime  这样表达不是很理解

3.setInterval("clock()",100) 。我在clock()不加引号时,无法显示时间。时不时计时器调用函数都需要加上引号。

请以通俗易懂的语言解答一下,先谢谢您!

写回答 关注

2回答

  • joonhee_H
    2016-12-04 15:19:20
    已采纳
    1. 每100ms刷新一次就执行函数,每次执行函数都要重新获取当前时间,放在外部第一次获取完就不变。

    2. attime存储每次执行后获得的时间值,“=”为赋值,将值赋给id为clock的文本框。

    3. 参考W3c里的,不用太纠结这个,可以理解为格式。

    慕后端964...

    非常感谢你!

    2016-12-09 10:07:16

    共 1 条回复 >

  • fighting_wang
    2016-11-24 23:03:33

    3.

    调用函数格式(假设有一个clock()函数):

    setInterval("clock()",1000)

    setInterval(clock,1000)

    2.在input框中   value是显示在框中的内容  通过id找到位置  所以这里的attime中的值是显示在框中的

    1.....初出茅庐,尽力帮你啦。。。

JavaScript进阶篇

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

468060 学习 · 21891 问题

查看课程

相似问题