问答详情
源自:8-3 计时器setInterval()

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

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()不加引号时,无法显示时间。时不时计时器调用函数都需要加上引号。

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

提问者:慕后端9646151 2016-11-24 21:55

个回答

  • joonhee_H
    2016-12-04 15:19:20
    已采纳

    1. 每100ms刷新一次就执行函数,每次执行函数都要重新获取当前时间,放在外部第一次获取完就不变。

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

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

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

    3.

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

    setInterval("clock()",1000)

    setInterval(clock,1000)

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

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