- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:JS:関数の実行され方)
JS関数の実行順序と動作についての質問
このQ&Aのポイント
- javascriptの関数の実行順序について教えてください。
- ある関数が実行中に他の関数が実行されるかどうか知りたいです。
- 重たい処理がある場合、他の関数は待機するのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
動かないです。 hello2()はhello1()が完了しない限り動きません。 なぜなら、関数とはコードを格納するだけのものに過ぎないので、動作的には alert(hello); alert(hello); alert(hello); と同義になります。 あくまで開発上分かりやすくするために関数に定義しているだけなので、関数を使うと言うことは、そこに関数の中身がそのまま記述されていると同じことだと考えて良いです。 よってそれぞれ記述された関数が完了しないと次の行の関数には進みません。 ご参考まで。
その他の回答 (1)
- t_ohta
- ベストアンサー率38% (5292/13827)
回答No.2
答えは「関数の中身による」と言う事になります。 非同期で実行される処理であれば処理が完了する前に次のステップに行ってしまいますが、そうでなければ処理が完了するまで次のステップには進みません。
質問者
お礼
今回質問に至った手持ちのコードでは hello1で要素のパースと変数のセットを行うだけなので 非同期ではないですね。 ありがとうございます。 参考になりました。
お礼
なるほど 非常に理解が深まりました。 ありがとうございます。