자바스크립트 함수 호출 스택

최준영·2021년 9월 1일
0

함수 호출


// 함수의 호출.
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 오류가 발생하기도 한다.
profile
do for me

0개의 댓글