所以我接受了一次采访,其中我要求的是无意中声明和调用函数的目的,我无法回答它,即:
(function(){
// code
})();
这样做的原因是什么?
答案 0 :(得分:3)
Object-Oriented JavaScript - Second Edition :即时(自我调用)匿名函数的一个很好的应用 是你想要完成一些工作而不创造额外的全局 变量。当然,缺点是您无法执行相同的操作 功能两次。这使得即时功能最适合一次性使用 或初始化任务。
一开始语法看起来有些可怕,但你所做的只是简单 将函数表达式放在括号内,后跟另一个集合 括号。第二组说"现在执行"而且也是 放置您的匿名函数可能接受的任何参数:
(function() {
})();
或
(function() {
}());
是相同的: