Written by Kasumi

【JavaScript】setTimeoutが効かない。よくあるパターンの対処方法

setTimeoutメソッドを使って遅延読み込みさせたいが機能しない。

コンソールにエラーも出ない事から原因がわからない。

本記事ではこのような悩みを解決。

実装方法について解説します。

setTimeoutメソッドの使い方

まずおさらいで、setTimoutメソッドの使い方は以下の通りです。

setTimeout(実行処理, 実行タイミングミリ秒で指定);

第一引数に実行したい処理。

第二引数に実行するタイミングをミリ秒で指定します。

setTimeoutが効かないよくある例

function fn() {
  console.log("hello");
}

setTimeout(fn(),2000);

setTimeoutが効かないよくあるコード例です。

fn関数をsetTimeoutを使ってコンソールへ2秒後にhelloと出力したいのですが、すぐ実行されてしまいます。

原因はsetTimeoutの第一引数にそのまま実行関数()を記述してる事にあります。

上記が理由で、setTimeoutで遅延処理を実行する前に関数が実行されてしまいます。

対処方法

function fn() {
  console.log("hello");
}

setTimeout(function(){fn()},2000);

setTimeoutの第一引数にはコールバック関数を与える事ができます。

実行したい処理を関数で囲う事で、setTimeoutが機能するようになります。

まとめ

JavaScriptでsetTimeoutが効かないよくあるパターンの対処方法について紹介しました。

以上で解説を終わります。

目次

関連記事

JavaScript

【JavaScript初心者向け】配列要素を追加・上書き・削除する方法

2022.08.22
3930
JavaScript

JavaScriptでコンテンツの内側・外側をHTMLタグで囲う方法

2022.10.26
1954
JavaScript

JavaScriptでHTMLの埋め込む場所を指定する方法

2022.10.17
941
JavaScript

JavaScriptで参照先オブジェクトからthisが渡らない時の対処方法

2022.12.10
1280