JavaScriptの基本的な処理のされ方や順番について

前提

プログラミングの基本的な質問です。
JavaScriptの勉強をしているのですが、2つのコードの違いというか、処理のされ方の違いについて知りたいのですが、

該当のソースコード

JavaScript

1例1 2function hello() {3 console.log("Hello");4}5 6setTimeout(hello, 1000);7 8// この場合だとHelloが少し時間をおいて1回出力される9 10しかし、setTimeout(time, 1000); が中に入った場合 11 12例2 13function hello() {14 console.log("Hello");15 setTimeout(hello, 1000);16}17 18hello();19 20// これだと Hello が永遠に出力される(ループ)21

知りたいこと(プログラミングにおいての処理の順番やされ方を知りたい)

プログラミング初心者です。JavaScriptについての質問なのですが、

上に書いたコードと下に書いたコードの違いが分かりません。

上に書いたコードがsetTimeoutで1000ミリ秒後にHelloを出すのは分かるのですが、

下のコードだと永遠にループしてしまいます。

hello();でhello関数の中身を1000ミリ秒後に中で処理をしてそれで終わりという事にはならないのでしょうか?

下のコードの場合は上のパターンとは違って、一度関数の中の処理をした後に外に出て、再度自動的にhello();の処理をするので、また関数内に戻って出て処理をして外に出て外の処理をしての繰り返しになってしまうという意味合いなのでしょうか?

プログラミング初心者で質問の内容も分かり辛いかもしれませんが、回答いただけるとありがたいです。

コメントを投稿

0 コメント