You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript中Arrow函数的执行上下文位于何处?

关于箭头函数执行上下文的解答

听起来你已经把普通JavaScript函数的执行上下文概念理解得很透彻了,这真的很棒!那咱们来拆解箭头函数的特殊之处——箭头函数根本没有属于自己的独立执行上下文。

和你例子里的普通Foo函数不同:

function Foo() { 
  // 每次调用Foo时,都会创建一个全新的专属执行上下文
}

箭头函数从定义它的词法作用域(也就是它被声明时所在的外层作用域)直接继承执行上下文,不会自己创建新的。

拿你写的箭头函数代码举例:

const ArrowFoo = () => { 
  // 这里并没有ArrowFoo自己的执行上下文!
  // 如果ArrowFoo是在全局作用域定义的,它就用全局执行上下文;
  // 如果是在另一个普通函数内部定义的,就用那个外层函数的执行上下文
}

再补充几个关键特性帮你理解:

  • 箭头函数没有自己的this、arguments、super或new.target,这些值全部来自它继承的外层执行上下文
  • 正因为没有自己的执行上下文,箭头函数不能被用作构造函数(不能用new关键字调用)

内容的提问来源于stack exchange,提问作者AmerllicA

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 06:52:59