JavaScriptは
①ヘッダー
②ボディー
③タグ
④外部ファイル
②ボディー
③タグ
④外部ファイル
に記述することが可能です。
そして大前提として
・関数は呼び出される前に定義されている必用がある。
・ブラウザはScript要素があると、解釈し終わるまで次の要素を読み込まない
・ブラウザはScript要素があると、解釈し終わるまで次の要素を読み込まない
という点があります。
そのため
簡単なクリック時の処理は「③タグ」に記述すればよいでしょう。
また関数は呼び出される前に定義する必要があるので、場合によっては「①ヘッダー」
に書かざる負えない場合もあります。
しかし可能な限り「③ボディー」に記述するべきです。
ブラウザはScript要素があると、解釈し終わるまで次の要素を読み込まない
からです。
「③ボディー」の中でもボディー要素の最後に記述するべきです。
「④外部ファイル」として保存する場合にも注意が必用です。
そこで処理がとまってしまっては、何も表示されないことになるからです。
なんだかレスポンス改善の余地がかなりありそうですね・・・