1. function throttle(fn, interval) {
    2. var timer = null;
    3. var firstTime = true;
    4. var _self = fn;
    5. return function() {
    6. var that = this;
    7. var args = arguments;
    8. // 判断是否第一次执行
    9. if(firstTime) {
    10. _self.apply(that, args);
    11. return firstTime = false;
    12. }
    13. // 判断定时器是否执行完毕
    14. if(timer) {
    15. return false;
    16. }
    17. // 设置定时器
    18. timer = setTimeout(function() {
    19. clearTimeout(timer);
    20. timer = null;
    21. _self.apply(that,args);
    22. }, interval || 500)
    23. }
    24. }
    25. window.onresize = throttle(function() {
    26. console.log('window onresize');
    27. }, 500)