setInterval()
方法重复调用一个函数或执行一个代码段,在每次调用之间有固定的时间延迟。setTimeout()
方法设置一个定时器,定时器到期后执行一个函数或一段代码。
1 | let n = 0 |
上面代码每秒打印一次n
。但是由于只读取一次时间延迟,设置好以后无法更改时间延迟。
用setTimeout()
来改写setInterval()
可以解决这个问题。
1 | let duration = 1000 |
上面代码可以通过改变duration的值来改变时间延迟。setTimeout
每次执行都会读取延迟时间,所以改变时间能立即生效。