堆栈和执行环境栈
Posted 52580587zl
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了堆栈和执行环境栈相关的知识,希望对你有一定的参考价值。
堆栈是一种数据结构,指的是数据存取的方式,当定义一个变量时,内存会开辟一段空间
栈(Stack):
先进后出(FILO),在栈顶做插入(压栈)和删除操作(出栈)。
队列:
先进先出(FIFO),在队头做删除操作,在队尾做插入操作。
堆:
堆和它们不同,代码执行时系统动态分配,不存在是先进后出还是先进先出。
执行环境栈:
在执行环境栈里,上层可以访问下层变量,但是下层访问不了上层的
作用域链
内层环境可以访问外层中的变量和函数,而外层环境不能访问内层的变量和函数,沿着外层一层一层的找。
变量生命周期
全局变量的生命周期直至浏览器卸载页面才会结束。
局部变量只在函数的执行过程中存在,而在这个过程中会为局部变量在栈或堆上分配相应的空间,以存储它们的值,然后再函数中使用这些变量,直至函数结束
以上是关于堆栈和执行环境栈的主要内容,如果未能解决你的问题,请参考以下文章
JavaScript性能优化3——浏览器执行JavaScript时底层的堆栈操作
JavaScript性能优化3——浏览器执行JavaScript时底层的堆栈操作