在Javascript中使用匿名函数设置变量

时间:2017-07-09 22:08:58

标签: javascript anonymous-function

我试图在Javascript中获取匿名函数之外的值。基本上,我希望这个函数返回4.我觉得有一个简单的修复,但我不确定。谢谢!

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

3 个答案:

答案 0 :(得分:5)

你必须调用内部函数,但由于它是匿名的,它必须成为一个立即调用的函数表达式。并且,由于匿名函数中只有一个语句,如果您愿意,可以省略大括号。

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

console.log(a());

答案 1 :(得分:1)

您的示例定义了一个函数,但没有任何内容正在运行它。也许尝试使用IIFE

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

答案 2 :(得分:1)

你想要这样做很奇怪,但只要确保你调用内部函数。这可以使用立即调用的函数表达式语法来完成。

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

console.log(a());