【JS】setIntervalの関数に引数を渡す
こんにちは、しきゆらです。
今回は、よくお世話になるであろうsetIntervalの関数に引数を渡す方法を知ったのでメモしておきます。
といっても、リファレンスをよく読めば書いてありました。
WindowOrWorkerGlobalScope.setTimeout() – MDN
https://developer.mozilla.org/ja/docs/Web/API/WindowTimers/setTimeout
MDNさんによると、setIntervalの引数は「関数オブジェクト」、「遅延させる時間」の2つだけではないようです。
ver timeoutID = scope.setTimeout(function[, delay, param1, param2,...]);
1つめのものですね。
3つ目以降の引数には、関数オブジェクトの引数として渡すものを書けばいいようです。
function hoge(arg1, arg2){ console.log(arg1, arg2); } setInterval(hoge, delay, "hoge", "fuga");
上記のようにすれば、delayミリ秒ごとにconsoleにはhoge, fugaの2つが表示されるはずです。
これは知りませんでした。
パっと見ただけでは何をやっているのかわかりませんけど、必要な時はこれで乗り切れそうですね。
わかりやすさで言えば、無名関数を作って上げたほうが読みやすいかもしれません。
function hoge(args1){ console.log(args1); } setInterval(function(){ hoge("hoge"); }, 1000);
どちらにしても、こうすればsetIntervalの関数に引数を渡せるようです。
知らないことがいっぱいありますね。
今回はこのへんで。
おわり。