代码之家  ›  专栏  ›  技术社区  ›  Pyram

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

  •  0
  • Pyram  · 技术社区  · 8 年前

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

    function a(){
      var x = 1;
      ()=>{
        x = 4;
      }
      return x;
    }
    
    3 回复  |  直到 8 年前
        1
  •  5
  •   Scott Marcus    8 年前

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

    function a(){
      var x = 1;
      (() => x = 4)();
      return x;
    }
    
    console.log(a());
        2
  •  1
  •   Khauri    8 年前

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

    function a(){
      var x = 1;
      (()=>{
        x = 4;
      })()
      return x;
    }
    
    console.log(a());
        3
  •  1
  •   Alex McMillan    8 年前

    您的示例定义了一个函数,但什么都不是 它也许可以尝试使用 IIFE

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