3

可能重复:
javascript中自执行函数的目的是什么?
这是什么意思?(函数 (x,y)){…}){a,b); 在 JavaScript 中

我有时会看到像这些示例定义的函数:

(function() {
    ....     
})();

(function(param) {
    ....     
})(JQuery);

(function(chat, Friend) {
    ....     
})(chat, chat.module("friend");

经过一些网络研究,我没有找到任何关于最后括号信息含义的信息。

有人解释如何使用它吗?或者只是指向一个解释含义的网络链接?

4

3 回答 3

2

假设我们有:

function add1 (x) {
    return x+1;
}

然后我们可能会调用add1(5)以获取值 6。

但是使用括号,而不是调用add1(5),我们可以将其替换为(function (x) {return x+1;})(5)。基本上这会创建一个函数,并立即将其应用于值 5,而当我们调用 时add1(5),我们使用的是命名/定义的函数。

于 2012-12-31T16:00:55.267 回答
2

最后刹车的意思

(function() {
    ....     
})();

最后()导致函数内部的代码立即执行。

(function(param) {
    ....     
})(JQuery);

最后(JQuery)导致函数内部的代码立即执行,并JQuery作为参数传递给它。

(function(chat, Friend) {
    ....     
})(chat, chat.module("friend"));

最后(chat, chat.module("friend"))导致函数内部的代码立即执行,并将chatchat.module("friend")作为参数传递给它。

于 2012-12-31T16:01:10.960 回答
0

看看这个问题:在 JavaScript 中这种做法是什么?

基本上,该函数将使用您传递的参数执行。在此示例中,param将具有以下值jQuery

(function(param) {
    ....     
})(JQuery);
于 2012-12-31T15:59:00.447 回答