首页 > 技术文章 > 堆栈和执行环境栈

52580587zl 2020-04-05 21:28 原文

堆栈是一种数据结构,指的是数据存取的方式,当定义一个变量时,内存会开辟一段空间   

栈(Stack):

先进后出(FILO),在栈顶做插入(压栈)和删除操作(出栈)。

队列:

先进先出(FIFO),在队头做删除操作,在队尾做插入操作。

堆: 

堆和它们不同,代码执行时系统动态分配,不存在是先进后出还是先进先出。

执行环境栈:

    在执行环境栈里,上层可以访问下层变量,但是下层访问不了上层的

作用域链

内层环境可以访问外层中的变量和函数,而外层环境不能访问内层的变量和函数,沿着外层一层一层的找。

变量生命周期

全局变量的生命周期直至浏览器卸载页面才会结束。

局部变量只在函数的执行过程中存在,而在这个过程中会为局部变量在栈或堆上分配相应的空间,以存储它们的值,然后再函数中使用这些变量,直至函数结束

推荐阅读