javascript是否为每个函数创建执行上下文?

javascript是否为每个函数创建执行上下文?,javascript,function,execution,Javascript,Function,Execution,我在看一门课程,教授提到每次我们执行自己创建的函数时都会创建一个本地执行上下文(他没有确切地说,但是他在解释诸如setTimeOut或fetch等外部函数时没有提到这一点)。然而,当我们调用一个外部函数(如setTimeOut或fetch)时会发生什么情况javascript是否也为这个函数创建了一个本地执行上下文?我所说的外部函数不是我们自己创建的函数,而是API的一部分。大多数javascript外部函数实际上是用C编写的,因此它们本身没有javascript执行上下文。但是,它们仍然有,这

我在看一门课程,教授提到每次我们执行自己创建的函数时都会创建一个本地执行上下文(他没有确切地说,但是他在解释诸如
setTimeOut
fetch
等外部函数时没有提到这一点)。然而,当我们调用一个外部函数(如
setTimeOut
fetch
)时会发生什么情况javascript是否也为这个函数创建了一个本地执行上下文?我所说的外部函数不是我们自己创建的函数,而是API的一部分。

大多数javascript外部函数实际上是用C编写的,因此它们本身没有javascript执行上下文。但是,它们仍然有,这与javascript执行上下文类似。

大多数javascript外部函数实际上是用C编写的,因此它们本身没有javascript执行上下文。但是,它们仍然有,这与javascript执行上下文类似。

因此,例如,当我调用
setTimeOut
时,此函数与javascript无关,只是用于触发浏览器中计时器的api,因为浏览器将执行计时器,所以执行上下文就在那里(堆栈帧)是创建的吗?浏览器实现
setTimeout
函数,通常使用C语言,它没有javascript的执行上下文。因此,例如,当我调用
setTimeout
时,该函数与javascript无关,只是用于触发浏览器中计时器的api,因为浏览器将执行它指定的计时器执行上下文(堆栈帧)是在哪里创建的?浏览器实现
setTimeout
函数,通常使用C语言,它没有javascript的执行上下文。