Javascript IIFE函数是否在调用它的函数上下文中执行

Javascript IIFE函数是否在调用它的函数上下文中执行,javascript,Javascript,只是想了解iLife函数在JavaScript引擎中是如何运行的 我知道每个新函数在调用堆栈上都有执行上下文,但如果在特定函数中调用IIFE函数,那么它会为IIFE创建新上下文,还是会在调用它的相同上下文中执行 function myFunction(){ console.log('inside the myFunction'); (function(){ console.log('inside the IIFE') })() } myFunction(); 那么如何为

只是想了解iLife函数在JavaScript引擎中是如何运行的

我知道每个新函数在调用堆栈上都有执行上下文,但如果在特定函数中调用IIFE函数,那么它会为IIFE创建新上下文,还是会在调用它的相同上下文中执行

function myFunction(){
  console.log('inside the myFunction');
  (function(){
      console.log('inside the IIFE')
  })()
}
myFunction();
那么如何为普通函数和IIFE创建执行上下文呢?

您可能指的是“IIFE”或“立即调用的函数表达式”

是的,IIFE会产生它们自己的执行上下文。当调用IIFE时,它会进入调用堆栈,当函数结束时,它会从调用堆栈中移除,就像普通命名函数一样。递归调用IIFEs也可能导致堆栈溢出,毕竟:

(函数iife(){iife()})()您可能指的是“IIFE”或“立即调用的函数表达式”

是的,IIFE会产生它们自己的执行上下文。当调用IIFE时,它会进入调用堆栈,当函数结束时,它会从调用堆栈中移除,就像普通命名函数一样。递归调用IIFEs也可能导致堆栈溢出,毕竟:


(函数iife(){iife()})()IIFE实际上只是一个普通的匿名函数,但它只是在表达式中使用
()
立即调用,所以我认为它和匿名函数之间没有区别IIFE实际上只是一个普通的匿名函数,但它只是在表达式中使用
()
所以我认为它和匿名函数之间没有区别,'this'变量是否可以访问IIFEs内部?或者“this”的行为类似于箭头函数中的方式?它将是全局this-全局对象,或者是未定义的对象。“this”变量是否可以访问IIFEs内部?或者“this”的行为类似于箭头函数中的方式?它将是全局this-全局对象,或者是未定义的对象。