超时调用和间歇调用
2017-10-28 23:44
495 查看
前言:之前一直在看JavaScript的高级程序设计,看了几百页的时候因为一些原因停了一段时间,现在接着看,发现有好多东西又忘记啦。想想主要是因为里面细节太多了,并且平时很多东西也并没有去使用,所以导致遗忘率很高。所以决定还是在每次收获了一个点以后,在这里记录一下,来加深自己的记忆。
主要区别:超时调用setTimeout,只执行一次,自动关闭。
间歇调用setIntervalout,一直执行,需要手动关闭。
我们分别用超时调用和间歇调用实现依次弹出1-5
/*超时调用*/ var i = 1; function alertNumber() { if(i <= 5) { alert(i++); setTimeout(alertNumber, 100); } } setTimeout(alertNumber, 100);
/*定时调用*/ var i = 1; var timer = null; timer = setInterval(function() { if(i <= 5) { alert(i++); }else { clearInterval(timer); } },100);
定时器的使用,在很多地方都会用到,但是我们到底使用超时调用还是间歇调用呢?通过上面的代码,我们可以很明显的知道超时调用可以实现的,那么间歇调用也可以实现。但是我们不要忘记一个问题,那么就是JavaScript是单线程语言,我们在定时器中设置的第二个参数为等待间隔时间后,将该任务加入到任务队列中。如果队列中没有任务要执行,那么就立即执行这个程序,如果有任务执行会怎么样?我们就会等待,如果我们等待时间超过设置的间隔时间,那么使用间歇调用的时候就容易出现问题。第二个间歇调用和第一个间歇调用相差就小于设置的间隔时间。所以我们在实际中最好使用超时调用,不要这里一定要注意不要出现内存泄漏,因为我们使用超时调用的时候采用了递归,如果出现了内存泄漏,那么会导致很严重的问题。
相关文章推荐
- JavaScript——间歇调用和超时调用
- js超时调用setTimeout和间歇调用setInterval实例分析
- 间歇调用和超时调用
- JavaScript间歇调用和超时调用
- javascript超时调用、间歇调用
- 【JavaScript学习】超时调用和间歇调用
- javascript超时调用和间歇调用
- setTimeout()间歇调用和 setInterval()超时调用
- js超时调用setTimeout和间歇调用setInterval实例分析
- JavaScript的超时调用和间歇调用
- 超时调用(setTimeout)和间歇调用(setInterval)
- 间歇调用和超时调用(setTimeout和setInterval)
- 超时调用与间歇调用
- JS 中的间歇调用和超时调用的性能问题
- JavaScript用setTimeout超时调用实现setInterval间歇调用
- 浅谈JavaScript超时调用和间歇调用
- 浅谈JavaScript超时调用和间歇调用
- 超时调用和间歇调用
- javascript学习笔记(十五) 间歇调用和超时调用