Есть ли способ узнать количество итераций функции setInterval
без использования дополнительной переменной?
Чтобы вместо
var count = 0;
setInterval(function(){count++;},1000);
было как
var iid = setInterval(function(){console.log("hello world");},1000);
//проходит некоторое время
var count = getIntervalCount(iid);
Думаю, что стандартных средств нет. Но всегда можно написать свои обёртки:
function mySetInterval(func, tmt){
var retObj={"counter":0};
retObj["realInterval"]=
setInterval(function (){retObj.counter++; func();}, tmt);
return retObj;
}
function myClearInterval(obj){
clearInterval(obj.realInterval);
}
function getIntervalCount(obj){
return obj.counter;
}
Если нужны дополнительные параметры, передаваемые в функцию, можно изменить функцию mySetInterval
так:
function mySetInterval(func, tmt, ...args){
var retObj={"counter":0};
retObj["realInterval"]=
setInterval(function (){retObj.counter++; func(...args);}, tmt);
return retObj;
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Объясните результаты на картинке:
Не сохраняется с первого раза ckeditorСмотрел данную тему на форуме, не смог разобраться
Уважаемые знатоки JS и IE! Изображения случайно перемешиваются при кликах в строго заданном порядке: например, только при кликах в определённой...