js定时器应用遇见的问题

其实写js,用定时器的地方数不胜数,今天居然遇到一个小坑,以前没有注意过的一个问题.

当设置一个定时器 timer=setInterval(function(){},time)时,没有任何问题,一切正常使用。

而当在定时器里直接调用命名函数时timer=setInterval(fn,timer)时也没有任何问题。

但是,当你在定时器里调用的函数需要传参时,timer=setInterval(fn(a,b),timer)问题来了.

这样写定时器只能执行一次,别不能实现计时的效果.至于具体原因还没发现,不过解决办法倒也非常简单.

只需在定时器里写匿名函数,然后再调用你想调用的函数即可。timer=setInterval(function(){fn(a,b){}},time)。

原文地址:https://www.cnblogs.com/xxiaomai/p/3456496.html