クリックイベントの中に書く処理なのか、外に書く処理なのか理解できていません

クリックするたびに実行したい処理は中に書きましょう。
2020年7月6日
ユーザー

いつもお世話になっています。

const n = Math.floor(Math.random() * result.length);の位置について質問です。

 const results = ['大吉','中吉','凶'];
 const n = Math.floor(Math.random() * results.length);
 btn.addEventListener('click', ()=>{
    circle.textContent= results[n];
 });

上のように、nをクリックイベントの外で定義すると、btnをクリックしても同じresult要素しか表示されません。

const n~だけクリックベント内に戻せば問題なく処理されます。
const results~はクリックイベントの外でも中でも問題なく処理されます。

考え方がわからないのですが、resultsにはクリックイベント内からアクセスできるけど、nにはアクセスできないということでしょうか?

なぜ、同じconstなのに、クリックイベント内からアクセスできるものと出来ないものがあるのかわかりません。

よろしくお願いします。

この回答を見るにはプレミアムサービスへの登録が必要です

プレミアムサービスとは?