以前に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の値が関数に渡されました。
対応後のデモページ
コメントが承認されるまで時間がかかります。