CountUp()内で無限ループしないのでしょうか...?

順を追ってコードを説明していきます。
2020年10月24日
ユーザー

いつもありがとうございます。
楽しく勉強させていただいております。

countUp()内で同関数を呼び出し、ループさせ
10msec毎に値を更新しているのはわかります。

そして、タイマーのidを取得してClearTimeout()に引数として渡し、
タイマーをクリアすることも、理屈わかります。

ただ、ソフトはずっとcountUp()内でループしており、
同関数から抜け出ることがないように見えますが、
どのようにしてStopが押されたか監視しているのでしょうか。

countUp()内で console.logを使って確認したところ、
確かに同関数内でループしています(コンソールに出力され続ける)。
そして、eventListener外で同様にconsole.logで確認したところ、
ループはしていませんでした(コンソールには”更新時の1回のみ”出力されていました)。

JavaScriptでは、
更新時に実行できる関数等を実行する
その後はeventListenerを監視する というフローなのでしょうか?
また、eventListenerは割込み処理のようなことができるのでしょうか。

拙い質問力ですが、ご回答いただけますと幸いです。

この回答を見るにはプレミアムプランへの登録が必要です

プレミアムプランとは?

このレッスンの質問と回答(14)