可能重复:
What is the purpose of a self executing function in javascript?
What does this mean? (function (x,y)){…}){a,b); in JavaScript
我看到有时像这些例子那样定义了函数:
(function() {
....
})();
(function(param) {
....
})(JQuery);
(function(chat, Friend) {
....
})(chat, chat.module("friend");
经过一些网络研究后,我没有找到任何有关最后一个括号信息含义的信息。
有人解释如何使用它吗?或者只是简单地指出解释含义的网络链接?
答案 0 :(得分:2)
最后一个支架的含义
(function() {
....
})();
最后()
会导致函数内的代码立即执行。
(function(param) {
....
})(JQuery);
最后(JQuery)
会导致函数内的代码立即执行,并将JQuery
作为参数传递给它。
(function(chat, Friend) {
....
})(chat, chat.module("friend"));
最后(chat, chat.module("friend"))
会导致函数内的代码立即执行,并将chat
和chat.module("friend")
作为参数传递给它。
答案 1 :(得分:1)
假设我们有:
function add1 (x) {
return x+1;
}
然后我们可以调用add1(5)
来获取值6。
但是使用方括号而不是调用add1(5)
,我们可以将其替换为(function (x) {return x+1;})(5)
。基本上这会创建一个函数,并立即将其应用于值5,而当我们调用add1(5)
时,我们使用的是命名/定义函数。
答案 2 :(得分:0)
查看此问题:What is this practice called in JavaScript?
基本上,该函数将使用您传递的参数执行。
在此示例中,param
的值为jQuery
:
(function(param) {
....
})(JQuery);