像你所說的,如果將let previous = 0 聲明放到return function {...} 的函數(shù)體內(nèi)部(姑且稱這個函數(shù)為func),那么每次觸發(fā)func都會執(zhí)行l(wèi)et previous = 0; 這樣 if (now - previous > wait) 這個條件永遠都是true, 無法達到節(jié)流的效果。而將let previous = 0放到func外 ;只會在第一次調(diào)用throttle時聲明previous=0跃惫,然后每次調(diào)用func內(nèi)部去改變這個previous
函數(shù)防抖和節(jié)流在前端開發(fā)的過程中,我們經(jīng)常會需要綁定一些持續(xù)觸發(fā)的事件,如 resize蠢涝、scroll、mousemove 等等阅懦,但有些時候我們并不希望在事件持續(xù)觸發(fā)的過程中那么頻繁地去執(zhí)...