js之抖动与节流
节流与抖动,节流主要是为了防止网站遭到恶意的攻击。通过封装节流函数来防止这种恶意的攻击。抖动指的是等待一段时间后进行函数的实现过程,这种情况常用于ajax的请求的执行。
1.首先是节流函数的实现与应用
在这里防止恶意攻击的主要办法就是使得执行的方法没隔一段时间才能执行,所以在这里封装的节流的函数,在节流的函数中传入需要执行的函数,与间隔时间。这样就能达到节流的目的。
2.抖动函数的实现
抖动的目的就是函数在频繁发生时在等待一段时间后去执行的的行为,在封装的抖动函数中其主要是利用了定时器来实现,在这里面需要注意的是_self = this, _args = arguments,这样的使用目的是为了使用到debounce中的参数,如果不这样使用而是去使用this与arguments,则此时获取到的则不是debounce中的参数,而是setTimeout(function())中的this与arguments.