这是什么“(函数(){});”,括号内的一个函数,意味着在JavaScript?
可能重复:
这是什么意思? (function(x,y)){…}){a,b); 在JavaScript中
围绕JavaScript对象/函数/类声明的括号是什么意思?
大家好
我不知道以下几点:
(function(){ // Do something here ... })(someWord) //Why is this here?;
我的问题是:
- 将函数放入方括号中的含义是什么.ie
(function(){});
? - 在一个函数的末尾,括号是怎么做的呢?
我通常看到这些在jQuery代码,和其他一些JavaScript库。
您立即使用特定的参数调用anonymus函数。
一个例子:
(function(name){ alert(name); })('peter')
这提醒“ 彼得 ”。
在jQuery的情况下,你可能会传递jQuery
作为参数,并在你的函数中使用$
。 所以你仍然可以在noConflict模式下使用jQuery,但使用方便的$
:
jQuery.noConflict() (function($){ var obj = $('<div/>', { id: 'someId' }); })(jQuery)
你正在做一个函数,立即被调用, someWord
作为参数。
基本上这可以让你声明一个匿名函数,然后把它括在圆括号中,并写(someWord)
你正在运行的function。 你可以把它看作声明一个对象,然后立即实例化对象。
它用于创build匿名函数(没有可以嵌套在其他函数中的名称的函数)并将parameter passing给该函数。 someWord作为parameter passing,函数可以使用关键字“arguments”读取它。
用法的简单例子:
function Foo(myval) { (function(){ // Do something here alert(arguments[0]); })(myval); //pass myval as argument to anonymous function } ... Foo(10);
这是定义一个匿名函数然后立即执行它的一种方法 – 不会留下任何痕迹。 函数的范围是真正的本地。 最后的()
括号执行该函数 – 括号括起来是为了消除正在执行的内容。
也许这篇文章会帮助你一点。