Для цикла в Javascript выводит значение только из последней итерации

У меня есть этот код Javascript, который работает как положено:




setTimeout(function(){$(".test").append("test1")},1000);
setTimeout(function(){$(".test").append("test2")},2000);


Это показывает "test1" сначала, а потомtest2" через секунду, как таковой: "test1test2"что я и хочу

Когда я пытаюсь сделать это в цикле FOR, вот так:

var timeInterval = 1000;
for (var i = 0, l = 2; i < l; i++ ) {
    setTimeout(function(){$(".test").append("test" + i)},timeInterval);
    timeInterval += 1000;
}

Тогда я получаюtest2" сначала, а потомtest2" через секунду, как таковой: "test2test2"что не то, что я хочу.

На самом деле, если l = 3, то получаюtest3test3test3" вместо "test1test2test3", Кто-нибудь знает, как решить эту проблему?

Ответы на вопрос(5)

Ваш ответ на вопрос