这个“(function());”,括号内的函数,在javascript中是啥意思? [复制]
Posted
技术标签:
【中文标题】这个“(function());”,括号内的函数,在javascript中是啥意思? [复制]【英文标题】:What does this "(function());", a function inside brackets, mean in javascript? [duplicate]这个“(function());”,括号内的函数,在javascript中是什么意思? [复制] 【发布时间】:2011-05-01 21:56:48 【问题描述】:可能的重复:What does this mean? (function (x,y))…)a,b); in javascriptWhat do parentheses surrounding a JavaScript object/function/class declaration mean?
大家好
我不知道以下是做什么的:
(function()
// Do something here
...
)(someWord) //Why is this here?;
我的问题是:
-
将函数放在括号内是什么意思。即
(function());
?
函数末尾的括号集有什么作用?
我通常在 jquery 代码和其他一些 javascript 库中看到这些。
【问题讨论】:
同样的问题:***.com/questions/3921922/… 【参考方案1】:您会立即使用特定参数调用匿名函数。
一个例子:
(function(name)
alert(name);
)('peter')
这会提醒“peter”。
对于 jQuery,您可以将 jQuery
作为参数传递并在函数中使用 $
。所以你仍然可以在 noConflict-mode 下使用 jQuery,但使用方便的 $
:
jQuery.noConflict()
(function($)
var obj = $('<div/>', id: 'someId' );
)(jQuery)
【讨论】:
感谢您的回复,现在有意义了 这个函数可以命名吗?还是必须匿名?【参考方案2】:您正在创建一个立即被调用的函数,并以someWord
作为参数。
【讨论】:
哇,这是最尖锐的答案,我明白了。谢谢【参考方案3】:这是一种定义匿名函数然后立即执行它的方法——实际上不留下任何痕迹。该函数的范围是真正的本地。末尾的()
括号执行该函数——封闭的括号是为了消除正在执行的内容的歧义。
【讨论】:
【参考方案4】:基本上,这允许您声明一个匿名函数,然后将其括在括号中并编写(someWord)
,您正在运行该函数。您可以将其视为声明一个对象,然后立即实例化该对象。
【讨论】:
【参考方案5】:它用于创建匿名函数(可以“嵌套”在其他函数中的没有名称的函数)并将参数传递给该函数。 someWord 作为参数传递,函数可以使用关键字“arguments”读取它。
简单的用法示例:
function Foo(myval)
(function()
// Do something here
alert(arguments[0]);
)(myval); //pass myval as argument to anonymous function
...
Foo(10);
【讨论】:
以上是关于这个“(function());”,括号内的函数,在javascript中是啥意思? [复制]的主要内容,如果未能解决你的问题,请参考以下文章