js 防抖节流函数

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 }            

 

上一篇:MySQL优化


下一篇:Transactional超时时间控制