【问题标题】:What means construction (function () { ... } ) () [duplicate]什么是构造 (function () { ... } ) () [重复]
【发布时间】:2013-03-29 09:53:51
【问题描述】:

在 JavaScript 中这种构造是什么意思:

   (function (){
      alert("bla");
   })();

?

【问题讨论】:

标签: javascript


【解决方案1】:

此模式的首字母缩写词是“IIFE”或立即调用函数表达式。

它基本上创建了一个匿名函数function(){}

function(){alert("bla");}

然后将其包装为表达式()

(function(){alert("bla");})

然后执行它()

(function(){alert("bla");})()

请注意,此时,您也可以像这样传递参数:

(function(text){alert(text);})("bla")

【讨论】:

    【解决方案2】:

    这是一个匿名块 - 声明一个匿名函数然后立即执行它,这意味着在块中声明的任何变量都看不到它之外。在这种情况下,使用 alert() 没有区别。

    【讨论】:

      【解决方案3】:

      这是一个匿名函数,加载后会自动执行一次

      JS function definition : meaning of the last parentheses

      【讨论】:

        【解决方案4】:

        在这里您定义了一个要立即执行的匿名函数。

        函数声明表示为函数表达式,可以是匿名的,返回新创建的函数的值。它返回新创建的函数的值,所以在它后面加上括号,你可以立即调用它。

        【讨论】:

          【解决方案5】:

          你定义了一个匿名函数,你立即调用它。

          另请参阅 What is the purpose of a self executing function in javascript? 以了解构造用途的说明,简而言之,就是让匿名函数中包装的代码保持名称私有。

          【讨论】:

            猜你喜欢
            • 2017-10-06
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2015-09-15
            • 2012-02-18
            • 2014-09-19
            • 2014-07-28
            • 1970-01-01
            相关资源
            最近更新 更多