setTimeou的t应用
函数安排到执行队列中,而不会延迟。
// 用法
var myEfficientFn = delayFun (function() {
// 所有繁重的操作
},250);
window.addEventListener('resize',myEfficientFn);
var myEfficientFn = delayFun (function() {
// 所有繁重的操作
},250);
window.addEventListener('resize',myEfficientFn);
函数不允许回调函数在指定时间内执行多于一次。当为一个会频繁触发的事件分配一个回调函数时,该函数显得尤为重要。
setTimeout这么厉害,那么我们是可以在项目中大量使用吗?
我个人是不建议的,在我们业务中,基本上是禁止在业务逻辑中使用setTimeout的,因为我所看到的很多使用方式都是一些问题不好解决,setTimeout作为一个hack的方式。
例如,当一个实例还没有初始化的前,我们就使用这个实例,错误的解决办法是使用实例时加个setTimeout,确保实例先初始化。
为什么错误?这里其实就是使用hack的手段
第一是埋下了坑,打乱模块的生命周期
第二是出现问题时,setTimeout其实是很难调试的。
我认为正确的使用方式是,看看生命周期(可参考《关于软件的生命周期 》),把实例化提到使用前执行
以上就是小编为大家带来的JavaScript学习笔记整理_setTimeout的应用的全部内容了,希望对大家有所帮助,多多支持编程之家~