1:防抖函数
定义:在持续触发事件中,一段时间过后才触发执行事件。
例子:输入框持续输入值,一段延时过后再调用处理函数。
1 function debounce(){ 2 var timeout 3 return function(){ 4 clearTimeout(timeout) 5 timeout = setTimeout(function(){ 6 console.log(Math.random()) 7 },3000) 8 } 9 }
2:节流函数
定义:在持续触发事件中,一段时间内只触发一次执行事件。
例子:提交按钮,在一段内连续提交只能触发一次执行事件。
1 function throttle (){ 2 var timeout = null 3 return function(){ 4 if(!timeout){ 5 timeout = setTimeout(function(){ 6 console.log(Math.random()) 7 timeout = null 8 },3000) 9 } 10 } 11 }