调用栈是用来管理函数调用关系的一种数据结构。
每调用一个函数,javascript引擎会为它创建执行上下文,并压入调用栈,然后开始执行函数代码。
当函数A调用函数B时,javascript引擎先将A函数执行上下文压入栈,执行到B函数时,再将B函数执行上下文压入栈。B函数执行完毕后,javascript引擎将该函数执行上下文弹出栈,上下文控制权移到A函数执行上下文 中。A函数执行完毕后上下文控制权移至全局执行上下文。
调用栈有最大栈容量和最大调用深度两个指标,超出其中一个就会栈溢出。
调用栈是用来管理函数调用关系的一种数据结构。
每调用一个函数,javascript引擎会为它创建执行上下文,并压入调用栈,然后开始执行函数代码。
当函数A调用函数B时,javascript引擎先将A函数执行上下文压入栈,执行到B函数时,再将B函数执行上下文压入栈。B函数执行完毕后,javascript引擎将该函数执行上下文弹出栈,上下文控制权移到A函数执行上下文 中。A函数执行完毕后上下文控制权移至全局执行上下文。
调用栈有最大栈容量和最大调用深度两个指标,超出其中一个就会栈溢出。
本文标题:如何理解javascript调用栈
本文链接:https://www.haomeiwen.com/subject/orprjktx.html
网友评论