Debounce 防抖
防抖这个词我感觉很贴切,就是在形容用户操作的时候帕金森(哈哈哈哈哈)操作不连贯的感觉。主要的应用是在校验用户输入的时候,如果用户没有完全输入完,停顿了一下,那这个时候我们做校验是不需要的,所以是防抖。防抖比较简单,就是定一个定时器,延迟校验或者监听器的运行,如果中间又触发了这个事件,那就重新延迟。(直到用户不再抖)。
Throttle 节流
节流就是控制在一定时间内,事件只能触发一次。类似于小明要吃糖,一个小时只能吃一颗,小明每次想吃的时候看一下,如果一个小时到了就可以吃,反之不可以,继续等待。
在前端里,节流主要控制不要让事件频繁发生,比如一些监听事件,滚动、点击等。例如,做了图片的懒加载,会监听网页的滚动事件,这个时候最好做一下节流,以免过于频繁操作,阻塞运行。