什么是调用栈

  • JS 引擎在调用一个函数前
  • 需要把函数所在的环境 push 到一个数组里
  • 这个数组叫做调用栈
  • 等函数执行完了,就会把环境弹(pop)出来
  • 然后 return 到之前的环境,继续执行后续代码

    递归函数

    阶乘

    image.png

    理解递归

    image.png

    递归函数的调用栈

    递归函数的调用栈很长

调用栈最长有多少
image.png

爆栈

如果调用栈中压入的帧过多,程序就会崩溃