JS函数定义:最后一个括号的含义
可能重复:
在javascript中自执行函数的目的是什么?
这是什么意思? (function(x,y)){…}){a,b); 在JavaScript中
我看到有时像这些例子那样定义了函数:
(function() { .... })(); (function(param) { .... })(JQuery); (function(chat, Friend) { .... })(chat, chat.module("friend");
经过一些网络研究,我没有找到任何有关最后括号信息含义的信息。
有人解释如何使用它吗? 或者只是简单地指出解释其含义的网络链接?
最后一个支架的含义
(function() { .... })();
最后的()
导致函数内的代码立即执行。
(function(param) { .... })(JQuery);
(JQuery)
最终导致函数内部的代码立即执行,将JQuery
作为参数传递给它。
(function(chat, Friend) { .... })(chat, chat.module("friend"));
(chat, chat.module("friend"))
最后会导致函数内的代码立即执行,并将chat.module("friend")
作为参数传递给它。
假设我们有:
function add1 (x) { return x+1; }
然后我们可以调用add1(5)
来获取值6。
但是使用括号,而不是调用add1(5)
,我们可以用(function (x) {return x+1;})(5)
替换它。 基本上这会创建一个函数,并立即将其应用于值5,而当我们调用add1(5)
,我们使用的是命名/定义函数。
看看这个问题: JavaScript中的这种做法是什么?
基本上,该函数将使用您传递的参数执行。 在这个例子中, param
将具有jQuery
的值:
(function(param) { .... })(JQuery);