var throttle = function(func, delay){ var prev = Date.now(); returnfunction(){ var context = this; var args = arguments; var now = Date.now(); if(now-prev>=delay){ func.apply(context,args); prev = Date.now(); } } }
定时器实现:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
var throttle = function(func, delay){ var timer = null; returnfunction(){ var context = this; var args = arguments; if(!timer){ timer = setTimeout(function(){ func.apply(context, args); timer = null; },delay); } } }