Javascript 这个函数的格式叫什么?

Javascript 这个函数的格式叫什么?,javascript,angularjs,Javascript,Angularjs,在这里,我不理解它的功能。我不熟悉这种剧本。主函数的内部类似于()。这是干什么用的?我不知道它是否有单独的名称,它只是立即执行 而不是函数a(){..};a()您可以执行(function(){..})( 用于确定内部变量的范围,同时将其放置/执行在您想要的位置,而且您不必为其发明名称。这是一个IIFE,立即调用的函数表达式 为什么?:IIFE从全局范围中删除变量。这很有帮助 防止变量和函数声明的寿命超过 在全局范围内,这也有助于避免变量 碰撞 为什么?:当您的代码被缩小并绑定到单个文件中时

在这里,我不理解它的功能。我不熟悉这种剧本。主函数的内部类似于()。这是干什么用的?

我不知道它是否有单独的名称,它只是立即执行

而不是
函数a(){..};a()
您可以执行
(function(){..})(


用于确定内部变量的范围,同时将其放置/执行在您想要的位置,而且您不必为其发明名称。

这是一个IIFE,立即调用的函数表达式

为什么?:IIFE从全局范围中删除变量。这很有帮助 防止变量和函数声明的寿命超过 在全局范围内,这也有助于避免变量 碰撞

为什么?:当您的代码被缩小并绑定到单个文件中时 部署到生产服务器时,可能会发生以下冲突: 变量和许多全局变量。生活可以保护你免受这两种伤害 通过为每个文件提供可变范围来实现这些目标


(function(){console.log('test')})(
将立即调用该函数。所以,若您将编写此语句,那个么它将立即被调用,并在控制台上打印测试

正如@lix所指出的,这是一个自调用函数

函数表达式可以设置为“自调用”

自动调用(启动)自调用表达式,而不被调用

如果表达式后跟(),函数表达式将自动执行


我认为它被称为一个自调用函数…一个定义并立即执行的函数。可能重复:
function animator(shapes, $timeout) {
    (function tick() {
        var i;
        var now = new Date().getTime();
        var maxX      = 600;
        var maxY      = 600;
        var now = new Date().getTime();

        $timeout(tick, 30);
    })(); // What is this for?
}