JavaScript setInterval

интернет программирование JavaScript

mas=new Array;
for (i=1; i<=3; i++)
mas[i] = setInterval ( function() {
alert(i);
}, 1000);

Результат выполнения -- каждую секунду 3 раза выводится число 4 ! А мне нужно чтобы выводились числа от 1 до 3. В чем ошибка, подскажите?
Ответы:
Если вкратце: В момент выполнения alert, переменная i содержит 4 т.к. вызовы функции в setInterval выполняются после завершения цикла.
Переделывать что-либо не вижу смысла, т.к. весь код - извращение.
проблема в том, что не понимаете, как работает js (а судя по коду, ещё и сами не знаете, чего хотите)
Классный тут народ сидит все же - "вы не понимаете как работает js, а я умный, я понимаю, поэтому я пошел".


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.