setIntervalとsetTiemoutで関数に引数を渡す

以前にsetIntervalとsetTiemoutの関数に引数を使う方法の記事を投稿しましたが、setIntervalとsetTiemoutの第三引数以降に関数にわたす引数を設定できるようだったので、設定を試してみます。

サンプルコード

まずは対応前のサンプルです。

function sample(no) {
  console.log(no);
}
for (var i = 0; i < 3; i++) {
  setTimeout(function() {
    sample(i);
  }, 700);
  setInterval(function() {
      sample(i);
  }, 500);
};

この場合、関数に渡される引数はすべて3になってしまいます。
対応前のデモページ

次にsetIntervalとsetTiemoutの第三引数に設定してみます。

function sample(no) {
  console.log(no);
}
for (var i = 0; i < 3; i++) {
  setTimeout(sample, 700, i);
  setInterval(sample, 500, i);
};

この場合は意図した通り、0〜2の値が関数に渡されました。
対応後のデモページ

参考サイト

このエントリーをはてなブックマークに追加

関連記事

コメントを残す

メールアドレスが公開されることはありません。
* が付いている欄は必須項目です

CAPTCHA


コメントが承認されるまで時間がかかります。

2024年10月
 12345
6789101112
13141516171819
20212223242526
2728293031