1. 程式人生 > >高階函數 - 函數節流

高階函數 - 函數節流

turn this urn ons function val || self self.

        /**
         * 函數節流 - 限制函數被頻繁調用
         * @param  {Function} fn       [需要執行的函數]
         * @param  {[type]}   interval [限制多長的時間再重復執行fn]
         */
        var throttle = function(fn, interval) {
            var __self = fn,
                timer,
                firstTime = true;

            
return function() { var args = arguments, __me = this; if (firstTime) { __self.apply(__me, args); return firstTime = false; }; if (timer) { return false; }; timer
= setTimeout(function() { clearTimeout(timer); timer = null; __self.apply(__me, args); }, interval || 500); }; }; // test function A() { console.log(‘A‘); }; var A2 = throttle(A, 1000); setInterval(A2,
100);

高階函數 - 函數節流