From 33058f2b292b3a581333bdfb21b8f671898c5060 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:40:17 -0500 Subject: initial commit --- files/ja/glossary/call_stack/index.html | 94 +++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 files/ja/glossary/call_stack/index.html (limited to 'files/ja/glossary/call_stack/index.html') diff --git a/files/ja/glossary/call_stack/index.html b/files/ja/glossary/call_stack/index.html new file mode 100644 index 0000000000..cc188a1e09 --- /dev/null +++ b/files/ja/glossary/call_stack/index.html @@ -0,0 +1,94 @@ +--- +title: Call stack (コールスタック) +slug: Glossary/Call_stack +tags: + - CodingScripting + - Glossary + - JavaScript + - コールスタック + - 用語集 +translation_of: Glossary/Call_stack +--- +

コールスタック (call stack) は、インタープリター (ウェブブラウザー内の JavaScript インタープリターなど) の仕組みの一つで、複数階層の{{glossary("function","関数")}}を呼び出したスクリプト内の位置を追跡し続けることです。 — どの関数が現在実行されているのか、その関数の中でどの関数が呼び出されたか、などです。

+ + + +

+ +
function greeting() {
+   // [1] Some codes here
+   sayHi();
+   // [2] Some codes here
+}
+function sayHi() {
+   return "Hi!";
+}
+
+// Invoke the `greeting` function
+greeting();
+
+// [3] Some codes here
+
+ +

上記のコードは次のように実行されます。

+ +
    +
  1. greeting() 関数の呼び出しまで、すべての関数を無視する。
  2. +
  3. greeting() 関数をコールスタックリストに追加する。 +
    +

    コールスタックリスト:
    + - greeting

    +
    +
  4. +
  5. greeting() 関数の中にあるコードのすべての行を実行する。
  6. +
  7. sayHi() 関数の呼び出しまで移動する。
  8. +
  9. コールスタックリストに sayHi() 関数を追加する。 +
    +

    コールスタックリスト:
    + - greeting
    + - sayHi

    +
    +
  10. +
  11. sayHi() 関数の中にあるコードのすべての行を、末尾に達するまで実行する。
  12. +
  13. 実行を sayHi() を呼び出した行に戻し、 greeting() 関数の残りの実行を続ける。
  14. +
  15. sayHi() 関数をコールスタックリストから削除する。 +
    +

    コールスタックリスト:
    + - greeting

    +
    +
  16. +
  17. greeting() 関数の中のすべてを実行したら、これを呼び出した行に戻り、残りの JavaScript コードの実行を続ける。
  18. +
  19. greeting() 関数をコールスタックリストから削除する。 +
    +

    コールスタックリスト:
    + 空

    +
    +
  20. +
+ +

空のコールスタックで始め、関数を呼び出す度に、自動的にそれがコールスタックに追加され、コードをすべて実行した後、自動的にコールスタックから削除されます。最後に、またからのスタックで終了します。

+ +

より詳しく知る

+ +

一般知識

+ + + + -- cgit v1.2.3-54-g00ecf