【JS】setIntervalの関数に引数を渡す

JavaScript

こんにちは、しきゆらです。

今回は、よくお世話になるであろう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の関数に引数を渡せるようです。

知らないことがいっぱいありますね。

 

今回はこのへんで。

おわり。

Posted by しきゆら