2016/01/13

タイマー処理のsetIntervalとsetTimeout






setInterval : 一定時間ごとにある処理を繰り返す。前の処理が終わったかを判定せずに繰り返す。
var i = 0;

function show() {
  console.log(i++);
};
setInterval(function(){
  show();
},1000);


setTimeout : 一定時間後にある処理を1回だけ実行する。前の処理が終わったかどうかを考慮する。
var i = 0;

function show() {
  console.log(i++);
};
setInterval(function(){
  show();
},1000);




なのでsetTimeoutのほうがよく使われる。
//setTimeoutで繰り返し処理をする方法。
var i = 0;

function show() {
  console.log(i++);
  setTimeout(function(){
    show();
  },1000);
};
show();//最初の1回だけ呼び出してあげないといけない。




//setTimeoutで繰り返し処理を止める方法。
var i = 0;

function show() {
  console.log(i++);
  var stoptime = setTimeout(function(){
    show();
  },1000);
  if (i > 3) {
    clearTimeout(stoptime);
  }
};
show();



参照 : ドットインストール