在为某些同事编写javascript课程时,我意外地发现了自调用函数的替代语法。有谁知道它,是否有一些具体细节?我无法找到有关它的文档。
代码: 经典语法
(function(){
console.log("I'm self-invoked!");
})();
替代语法
(function(){
console.log("Me too!");
}());
感谢提示!
答案 0 :(得分:2)
两者的含义相同。
在两者中,开头的(
代表开头of an expression。这表示我们打算调用的a function expression的开头。最后我们调用它。差异是微妙的,根本不重要,让我们来探索它:
(function(){
console.log("I'm self-invoked!");
})();
这里,(
告诉编译器它是表达式的开头,编译器会计算表达式(在这种情况下是一个函数表达式),然后调用它(在表达式之外)。
(function(){
console.log("Me too!");
}());
此处 - 调用模式(()
)是该表达式的部分。