JS | Call stack



Стек выполнения - это 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-ом. И выполните код выше на платформе, если не совсем поняли почему такой вывод.