хранение значения setInterval - PullRequest
2 голосов
/ 26 декабря 2010

если бы у меня был такой код

count=0
count2=setInterval('count++',1000)

переменная count2 всегда будет иметь значение 2, а не фактическое значение count, поскольку оно увеличивается каждую секунду

мой вопрос: можете ли вы даже сохранить значение метода seInterval ()

Ответы [ 3 ]

5 голосов
/ 26 декабря 2010

Возвращаемое значение setInterval () - это идентификационный номер, который можно передать в clearInterval (), чтобы остановить выполнение периодически выполняемой функции в другой раз. Вот пример этого:

var id = setInterval(function() {
    // Periodically check to see if the element is there
    if(document.getElementById('foo')) {
        clearInterval(id);
        weAreReady();
    }
}, 100);

В вашем примере, если вы хотите, чтобы count2 имел то же значение, что и count, вы можете использовать:

var count = 0, count2 = 0;
setInterval(function() {
    // I wrote this on two lines for clarity.
    ++count;
    count2 = count;
}, 1000);
2 голосов
/ 26 декабря 2010

setInterval возвращает идентификатор, который вы можете позже использовать для clearInterval (), то есть, чтобы остановить выполнение запланированного действия. Он никак не будет связан со значениями счетчика.

1 голос
/ 26 декабря 2010
var count=0;
function incrementCount(){
    count++;
}
setTimeout("incrementCount()", 1000);
...