함수 호출
function foo(b){
var a = 5;
return a * b + 10;
}
function bar(x){
var y = 3;
return foo(x * y);
}
console.log(bar(6));
- 제일 먼저 anonymous가 호출스택에 기본적으로 쌓이고 console.log(bar(6))이 위로 쌓인다. 그다음 bar(6)이 쌓이고 bar y = 3이 실행된 후 foo(x*y)가 쌓인다. foo 함수가 실행이 끝나면 호출스택에서 나간다. 다른 쌓여있는 함수들도 LIFO 순서대로 나가게된다.
- 많은 함수를 호출하면 스택이 꽉 차버려서 Maximum call stack size exceeded 오류가 발생하기도 한다.