Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 06.09.2014, 16:45
Аватар для Аркадий Укупник
Аспирант
Отправить личное сообщение для Аркадий Укупник Посмотреть профиль Найти все сообщения от Аркадий Укупник
 
Регистрация: 06.09.2014
Сообщений: 41

Написал тут функцию.
/*

function loop(function () {
    return false; // to exit
}, 10[, cbArg1[, cbArg2]]);

var counter = 0;

loop(function () {
    console.log(counter++); 
    return counter < 10;
}, 300); // prints 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 and stop

*/
function loop(cb, period, _args) {
    var arg = Array.prototype.slice.call(arguments, 2);
    var interval = setInterval(function () {
        if (cb.apply(null, arg) === false) clearInterval(interval);
    } , period);
}


Как назвать? С именованием у меня огромные проблемы. И как бы ее профессионалы переписали?
Ответить с цитированием
  #2 (permalink)  
Старый 06.09.2014, 17:01
Аватар для Аркадий Укупник
Аспирант
Отправить личное сообщение для Аркадий Укупник Посмотреть профиль Найти все сообщения от Аркадий Укупник
 
Регистрация: 06.09.2014
Сообщений: 41

function clearIntervals() {
    var i = setInterval(function () {});
    while (i) clearInterval(i--);
}


и еще только что родил
Ответить с цитированием
  #3 (permalink)  
Старый 06.09.2014, 17:04
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,489

1. Не пиши несколько постов подряд. Дополняй предыдущий.
2. Хватит капитанить. Подобная хрень пишется сотнями каждый день на ходу.
__________________
29375, 35
Ответить с цитированием
  #4 (permalink)  
Старый 06.09.2014, 17:15
Аватар для Аркадий Укупник
Аспирант
Отправить личное сообщение для Аркадий Укупник Посмотреть профиль Найти все сообщения от Аркадий Укупник
 
Регистрация: 06.09.2014
Сообщений: 41

(function (win) {
    var intervals = [];
    var _setInterval = setInterval;
    var _clearInterval = clearInterval;
    win.setInterval = function () {
        var id = _setInterval.apply(win, arguments);
        intervals.push(id);
        return id;
    };
    win.clearInterval = function (id) {
        _clearInterval.call(win, id);
        delete intervals[intervals.indexOf(id)];
    };
    win.getIntervals = function () {
        return Array.prototype.slice.call(intervals);
    };
    win.clearIntervals = function () {
        for (var i = 0; i < intervals.length; ++i) {
            clearInterval(intervals[i]);
        }
        intervals = [];
    }
})(window);
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выполнять функцию или цикл Партизан Events/DOM/Window 2 03.05.2012 03:36
Выполнить функцию заранее неизвестную Neokortex jQuery 2 13.02.2012 12:41
как реализовать передачу функции в функцию?? czp Общие вопросы Javascript 10 29.11.2011 19:21
Как вызвать функцию из другого файла Mukhtar AJAX и COMET 4 07.10.2011 22:01
checkbox включен запускаем одну функцию выключен другую Sadist_dead Элементы интерфейса 11 27.09.2011 10:46