ID非公開

2021/11/25 18:53

33回答

JavaScriptについて質問します。 javascript初心者です

ベストアンサー

0

ID非公開

質問者2021/11/26 7:48

回答ありがとうございます。 もしも関数で加工したnumを関数の外で使いたい場合はどうしたらいいのでしょうか。

ThanksImg質問者からのお礼コメント

できました!ありがとうございました!

お礼日時:2021/11/26 18:31

その他の回答(2件)

0

https://jsfiddle.net/azrthg9e/ addEventListenerでイベントリスナを設置しても、そこでスクリプトの処理が止まるわけではないので、次行のconsole.logが即実行されます。 ボタンを押して変数の値が増えても、その後console.logで表示する処理が無いので、最初に1回表示されて終わりになっています。 目的の処理、今回で言うとconsole.logの実行を、イベントリスナの実行後まで遅らせるためには、関数にする必要があります。

ID非公開

質問者2021/11/25 20:00

回答ありがとうございます。 自分の書いたプログラムでは、addEventListenerを実行される前にconsole.logが実行されてたので、永遠に初期化した値が出力されていたということでしょうか。

0

classは1つじゃないので数字つけてあげると良いかもしれません <script> const button = document.getElementsByClassName('button')[0]; let num = 0; button.addEventListener('click',()=>{ num++; console.log(num); },false); </script>

ID非公開

質問者2021/11/25 19:21

回答ありがとうございます。 console.logはaddEventListenerの中ではなく、質問のように外に配置し、addEventListenerの中のプラスを外のnumにも反映させたいです。