这些封装括号在JavaScript中意味着什么?

时间:2017-08-11 00:57:51

标签: javascript

很抱歉这是如此模糊,但我确定怎么回答这个问题,因为我不知道它是什么。我以前见过这个,但我记不起它在做什么或在哪里寻找它。

这段代码用外括号和“窗口”做了什么?

(function(angular){
//some code
})(window.angular);

我真的很抱歉。在我参考了一些官方文档之后,我会删除帖子。

1 个答案:

答案 0 :(得分:2)

这是IIFE(立即调用函数表达式)的示例。请查看here以获取更多解释。

第一部分

(function(angular){
//some code
})

是一个匿名函数(它没有名称)。由于您想立即执行它(当加载页面/ DOM时),您只需像任何其他函数一样调用它

(window.angular);

..带括号,参数和分号。 您的参数(window.angular)只是一个全局对象(这就是它在window范围内定义的原因)。

简而言之,您正在使用参数执行该函数体,该参数是全局定义的。