1
for(i=1;i<=3;i++){
    setTimeout(function(){
      console.log(i)
    },1000)
}

ответ 3,3,3 почему и как поправить?

J.Joe
  • 125

1 Answers1

0

Что бы вывести по порядку, нужно выводить через функцию

$(function() {
  var func = function(i) {
    setTimeout(function(){
       console.log(i)
    }, 1000 * i)
  };
  for(i = 1; i <= 3;i++){
    func(i);
  };
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Yuri
  • 15,957