1

在为一些同事编写 javascript 课程时,我偶然发现了自调用函数的另一种语法。有谁知道它,有一些细节吗?我无法找到有关它的文档。

CODE:经典语法

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

替代语法

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

感谢您的提示!

4

1 回答 1

2

两者含义相同。

在两者中,(开头的符号表示表达式的开头。这表明我们打算调用的函数表达式的开始。最后我们调用它。差异是微妙的,根本不重要,让我们来探索一下:

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

在这里,(是告诉编译器它是表达式的开始,编译器评估表达式(在这种情况下是函数表达式)然后调用它(在表达式之外)。

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

这里 - 调用模式 ( ()) 是该表达式的一部分

于 2013-08-26T15:03:36.787 回答