自调用函数的替代语法?

时间:2013-08-26 14:58:13

标签: javascript function

在为某些同事编写javascript课程时,我意外地发现了自调用函数的替代语法。有谁知道它,是否有一些具体细节?我无法找到有关它的文档。

代码: 经典语法

    (function(){
      console.log("I'm self-invoked!");
    })();

替代语法

    (function(){
      console.log("Me too!");
    }());

感谢提示!

1 个答案:

答案 0 :(得分:2)

两者的含义相同。

在两者中,开头的(代表开头of an expression。这表示我们打算调用的a function expression的开头。最后我们调用它。差异是微妙的,根本不重要,让我们来探索它:

(function(){
  console.log("I'm self-invoked!");
})();

这里,(告诉编译器它是表达式的开头,编译器会计算表达式(在这种情况下是一个函数表达式),然后调用它(在表达式之外)。

(function(){
  console.log("Me too!");
}());

此处 - 调用模式(())是该表达式的部分