debounce throttle

原文地址javascript

資料css

debounce()和throttle()兩個方法很是類似(包括調用方式和返回值),做用卻又有不一樣。java

它們都是用於函數節流,控制函數不被頻繁地調用,節省客戶端及服務器資源。segmentfault

debounce()方法關注函數執行的間隔,即函數兩次的調用時間不能小於指定時間。 throttle()方法更關注函數的執行頻率,即在指定頻率內函數只會被調用一次。服務器

<script type="text/javascript">  
var query = _(function() {  
    // 在這裏進行查詢操做  
}).throttle(500);  

$(window).bind('scroll', query);  
</script>


<input type="text" id="search" name="search" />  
<script type="text/javascript">  
var query = _(function() {  
    // 在這裏進行查詢操做  
}).debounce(200);  

$('#search').bind('keypress', query);  
</script>
相關文章
相關標籤/搜索