当进入一个执行上下文时,执行上下文也会关联一个作用域链。
- 作用域链是一个对象列表,用于变量标识符的求值。
- 当进入一个执行上下文时,这个作用域链被创建,并且根据代码的类型,添加一系列的对象。
ECMA文档:每个执行上下文都与一个作用域链相关,作用域链是一个对象列表,这些对象在评估一个标识符时被搜索,当控制权进入一个执行上下文时,根据代码的类型,一个作用域链被创建并填充初始的对象集。
复杂代码的执行过程的内存图
我们来看下面一部分代码:
var height = 1.88
function other(){
var age = 18;
function inner(){
var name = "name";
debugger;
console.log(name,age,height);
}
return inner;
}
var fn = other();
fn();全局执行上下文内存图

执行到other函数

执行完other函数,并返回inner地址

执行inner函数(作用域链访问)

inner执行完后效果图

感谢大家观看!
欣赏你的照片, 我明白, 世界很美。感谢 旅行灵感。
读起来像小说。继续保持 带来的灵感。
让人精神焕发的 帖子! 我准备订票了。
以后焦虑了或者迷茫了记得回来看看
我非常喜欢 出行博客。鼓舞人心查看路线。
你们的博客 百分百 帮助选择路线。坚持!
信息丰富的 出行资源! 越来越棒!
My brother suggested I might like this blog. He was entirely right. This post actually made my day. You cann't imagine just how much time I had spent for this information! Thanks!
我热爱, 写得很实在。你的博客 就是 最好的例子。很出色。
I've learn several good stuff here. Certainly price bookmarking for revisiting. I surprise how so much effort you put to make such a great informative website.