節(jié)流函數(shù)是為了解決事件的高頻觸發(fā)導(dǎo)致的性能問題
function throttle(action, wait=1000){
? ? let time = Date.now()
? ? return function () {
? ? ? ? if (time + wait - Date.now() < 0) {? ? ??
? ? ? ? ? ? action()
? ? ? ? ? ? time = Date.now()
? ? ? ? }
????}
}
如果你要實(shí)現(xiàn)動畫的節(jié)流函數(shù)赘风,可以采用requestAnimationFrame()
function throttle (action) {
? ? let isAction = false????
? ? return function () {
? ? ? ? if (isAction) return
? ? ? ? isAction = true
? ? ? ? window.requestAnimationFrame(function(){
? ? ? ? ? ? action()
? ? ? ? ? ? isAction = false
????????})
????}
}