• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:JS:関数の実行され方)

JS関数の実行順序と動作についての質問

このQ&Aのポイント
  • javascriptの関数の実行順序について教えてください。
  • ある関数が実行中に他の関数が実行されるかどうか知りたいです。
  • 重たい処理がある場合、他の関数は待機するのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • qualheart
  • ベストアンサー率41% (1451/3486)
回答No.1

動かないです。 hello2()はhello1()が完了しない限り動きません。 なぜなら、関数とはコードを格納するだけのものに過ぎないので、動作的には alert(hello); alert(hello); alert(hello); と同義になります。 あくまで開発上分かりやすくするために関数に定義しているだけなので、関数を使うと言うことは、そこに関数の中身がそのまま記述されていると同じことだと考えて良いです。 よってそれぞれ記述された関数が完了しないと次の行の関数には進みません。 ご参考まで。

webwebwebweb
質問者

お礼

なるほど 非常に理解が深まりました。 ありがとうございます。

その他の回答 (1)

  • t_ohta
  • ベストアンサー率38% (5292/13827)
回答No.2

答えは「関数の中身による」と言う事になります。 非同期で実行される処理であれば処理が完了する前に次のステップに行ってしまいますが、そうでなければ処理が完了するまで次のステップには進みません。

webwebwebweb
質問者

お礼

今回質問に至った手持ちのコードでは hello1で要素のパースと変数のセットを行うだけなので 非同期ではないですね。 ありがとうございます。 参考になりました。

関連するQ&A