在 Javascript 中从匿名函数中设置变量

Set variables out of anonymous functions in Javascript

我试图在 Javascript 中的匿名函数之外获取一个值。基本上,我希望此功能达到 return 4。我觉得有一个简单的修复方法,但我不确定。谢谢!

function a(){
  var x = 1;
  ()=>{
    x = 4;
  }
  return x;
}

你的例子定义了一个函数,但是运行什么都没有。也许尝试使用 IIFE:

function a(){
  var x = 1;
  (()=>{
    x = 4;
  })();
  return x;
}

你必须调用内部函数,但由于它是匿名的,它必须成为一个立即调用的函数表达式。而且,由于匿名函数中只有一条语句,因此您可以根据需要省略花括号。

function a(){
  var x = 1;
  (() => x = 4)();
  return x;
}

console.log(a());

您想要这样做很奇怪,但请务必调用内部函数。这可以使用立即调用的函数表达式语法来完成。

function a(){
  var x = 1;
  (()=>{
    x = 4;
  })()
  return x;
}

console.log(a());