1. ホーム
  2. javascript

[解決済み] setIntervalコールバックが一度だけ実行されるのはなぜですか?

2022-02-11 13:25:59

質問

私が作ったこのカウンターがあるのですが、永遠に作動させたいのですが、本当に単純です。

function timer() {
  console.log("timer!")
}

window.setInterval(timer(), 1000)

解決方法は?

setIntervalの最初のパラメータとして、関数参照ではなく関数呼び出しを使用しました。このようにしてください。

function timer() {
  console.log("timer!");
}

window.setInterval(timer, 1000);

あるいはもっと短く(ただし、関数が大きくなると可読性も低下する)。

window.setInterval( function() {
  console.log("timer!");
}, 1000)