当脚本要调用一个函数时,解析器把该函数添加到栈中并且执行这个函数。
任何被这个函数调用的函数会进一步添加到调用栈中,并且运行到它们被上个程序调用的位置。
当函数运行结束后,解释器将它从堆栈中取出,并在主代码列表中继续执行代码。
如果栈占用的空间比分配给它的空间还大,那么则会导致“栈溢出”错误。
function greeting() {
// [1] Some codes here
sayHi();
// [2] Some codes here
}
function sayHi() {
return "Hi!";
}