大家好,我是31岁、依然对代码充满好奇心的小米。今天我们聊一个很多人“听过无数次,却总在面试时卡壳”的主题JavaScript:执行上下文与作用域。我不打算一上来就甩一堆抽象概念。我们换个角度讲故事。把 JavaScript 想象成一家大型剧院。每一段代码,都是一场戏。而“执行上下文”,就是舞台;“作用域”,就是演员活动的区域;“作用域链”,则是演员找道具时的导航系统。听起来有点意思了吧?我们开始。执行上下文:舞台搭好,演员登场那天,我在公司调试一段代码:看似简单,但背后发生了什么?当 JavaScript 运行时,它会为代码创建一个“执行上下文”(Execution Context)。我们可以把它理解为:每次代码执行前,JavaScript 都会搭一个“临时舞台”。执行上下文有三种:执行上下文分两个阶段:1、创建阶段建立变量对象建立作用域链确定 this2、执行阶段变量赋值函数执行执行上下文栈你可以把它理解为“舞台调度室”。