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

把 times=new Date()放到函数里面时间正常走,放函数外面时间静止什么原因?

var atime;

var times=new Date();

function clock(){

atime=times.getHours()+"时"+times.getMinutes()+"分"+times.getSeconds()+"秒";

document.getElementById('time').value=atime;

}

setInterval(clock,100);


提问者:小狗会飞 2016-08-12 15:09

个回答

  • Lunix土豆
    2016-08-12 15:47:00

    因为代码从上往下执行,第一次执行times获取到系统时间后是一个固定值,然后接下来运行clock()函数,然后执行到setInterval()后又开始重复调用clock()函数,之前的“var times=new Date()”并没有被执行到,所以他还是那个之前被赋的时间。