【问题标题】:Can I invoke functional literal on creation with ()? [duplicate]我可以用 () 在创建时调用函数文字吗? [复制]
【发布时间】:2017-06-12 15:16:31
【问题描述】:

我认为这会起作用,但事实并非如此。是否可以像这样在创建时调用函数文字并且以后仍然可以使用它?

var myFunction = function() {
  alert('Hi!');
}();

【问题讨论】:

    标签: javascript


    【解决方案1】:

    如果你想让你的函数返回一些有意义的东西,你应该拆分函数创建和调用。

    如果没有,你可以这样做

        var myFunction = function me() {
          console.log('Hi!');
        
          return me
        }(); // first run
        
        myFunction() // second run

    【讨论】:

      【解决方案2】:

      最简单的是:

      (myFunction = function() {
        alert('Hi!');
      })();
      
      myFunction();
      

      注意你可以在它之前声明 myFunction,不这样做会被认为是不好的风格。

      【讨论】:

        猜你喜欢
        • 2018-03-04
        • 2011-06-10
        • 2017-01-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-09-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多