
JS | Call stack
Стек выполнения - это LIFO ( last in, first out ) -стек, который используется для хранения контекстов выполнения, создаваемых в ходе работы кода.
Механизм работы Call-stack:
- JS-движок начинает обрабатывать скрипт.
- При обнаружении команды вызова функции движок добавляет ее в начало стека.
- Выполняет функцию в верхней части стека.
- Oтработанная функция извлекается и выполняется нижняя.
- Если стек переполнен, то будет ошибка ("stack overflow" error).
Стек выполнения - это LIFO ( last in, first out ) -стек, который используется для хранения контекстов выполнения, создаваемых в ходе работы кода.
Механизм работы Call-stack:
- JS-движок начинает обрабатывать скрипт.
- При обнаружении команды вызова функции движок добавляет ее в начало стека.
- Выполняет функцию в верхней части стека.
- Oтработанная функция извлекается и выполняется нижняя.
- Если стек переполнен, то будет ошибка ("stack overflow" error).
function first(){
console.log("Hello from firstFunction");
}
function second(){
first();
console.log("The end from secondFunction");
}
second();
// Hello from firstFunction
// The end from secondFunction
По ссылке потренируйтесь с call-stack-ом. И выполните код выше на платформе, если не совсем поняли почему такой вывод.