猿问

运行期上下文本质是什么?是否是将函数`{`、`}`间变量和函数,以键值对的形式保存在一个

在学习作用域与作用域链的时候,看到“执行函数时会创建一个称为运行期上下文(execution context)的内部对象”,想了解下这个“运行期上下文”本质上到底是个啥?函数执行结束,“运行期上下文”就销毁了么?函数内变量在函数执行结束后的清理是否与“运行期上下文”有关?

温温酱
浏览 548回答 1
1回答

茅侃侃

运行期上下文就是指当执行一条语句时,哪些对象(所谓的运行环境)能够被使用。比如对于一个函数内部来说,函数的参数、声明的对象、全局变量等。JS是通过作用域链来实现的,所以内层的函数能够访问外层函数的变量,一直到全局变量。函数结束时,运行期上下文我认为就销毁了,除了那些在函数执行结束后仍被引用的对象。内部变量清理,是因为有垃圾回收机制。推荐阅读《Webkit技术内幕》
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答