jQuery инкремент setInverval () - PullRequest
1 голос
/ 06 мая 2011

Э-э ... Я понятия не имею, почему этот простой фрагмент кода не работает:

function increment() {
     var count = 0;

   alert(count++);

   }

 setInterval(increment, 1000); // test

он должен повторно отображать следующий номер, верно?Он просто отображает «0».Помощь приветствуется.Спасибо.

Ответы [ 2 ]

4 голосов
/ 06 мая 2011

count должна быть глобальной переменной. Вы ссылаетесь на локальную переменную count. Каждый раз, когда функция выполняется, она устанавливается на 0. Вы используете count++, поэтому значение, переданное alert, равно 0, а увеличенное значение никогда не используется.

Чтобы это исправить, переместите объявление count за пределы вашей функции (согласно ответу Тима):

var count = 0;
function increment() {

   alert(count++);

}

setInterval(increment, 1000); // test
1 голос
/ 06 мая 2011
var count = 0;
function increment() {

   alert(count++);

   }

 setInterval(increment, 1000); // test
...