はじめに jsを実行するタイミングが大きく分けて3つあります。 今すぐ実行 DOMツリーが出来上がってから実行※DOMContentLoaded 画像の読み込み等が終わり、最後に実行※onload これらを意識しながら適切なタイミングで処理を行うことが重要になります。 問題例 DOMを操作する場合 今すぐ実行してしまうと、scriptタグの後ろに記述した内容がロードされていない状態で処理を行ってしまうため、エラーになることがあります。操作対象をscriptタグの前に記述するか、DOMContentLoaded以降に処理を行う必要があります。 DOMツリーが出来上がってから処理を行いたい onloadで実行しても処理的には問題ないですが、画像のロードを待ってから処理が開始されるため、処理に時間がかかってしまいます。画像ロード前に行える処理ならば、DOMContentLoaded以前に行うべき