一般程序的执行上下文栈之入栈出栈

Posted 海王的天下

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一般程序的执行上下文栈之入栈出栈相关的知识,希望对你有一定的参考价值。

入栈出栈
var a = 5,
    funcIn, 
    funcOut = function(x)
      var b = 10;
      funcIn(x+b);
    ;
funcIn = function(y)
    var c = 15;
    console.log(y+c);

funcOut(20);

在执行代码前,先创建全局上下文环境。

开始执行代码

进入funcOut函数,执行函数语句前,创建新的执行上下文环境

并将该上下文环境压栈,设置为活动状态

调用funcIn()函数,进入funcIn()函数体之前,创建funcIn()的上下文环境,并压栈,设置为活动状态。

funcIn()执行完毕后,funcIn()的执行上下文环境出栈,并且被销毁,释放内存。

funOut()执行完毕后,funcOut()的执行上下文环境出栈,并且被销毁,释放内存。

见天地,见众生,见自己。

以上是关于一般程序的执行上下文栈之入栈出栈的主要内容,如果未能解决你的问题,请参考以下文章

关于汇编语言问题,入栈出栈啥用

如何理解“入栈、读栈、出栈”

Python模拟入栈出栈操作

入栈出栈规律·

Python语言实现对入栈出栈操作

华为OD机试独家提供C语言题解 - 入栈出栈