这是什么“(函数(){});”,括号内的一个函数,意味着在JavaScript?

可能重复:
这是什么意思? (function(x,y)){…}){a,b); 在JavaScript中
围绕JavaScript对象/函数/类声明的括号是什么意思?

大家好

我不知道以下几点:

(function(){ // Do something here ... })(someWord) //Why is this here?; 

我的问题是:

  1. 将函数放入方括号中的含义是什么.ie (function(){});
  2. 在一个函数的末尾,括号是怎么做的呢?

我通常看到这些在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); 

这是定义一个匿名函数然后立即执行它的一种方法 – 不会留下任何痕迹。 函数的范围是真正的本地。 最后的()括号执行该函数 – 括号括起来是为了消除正在执行的内容。

也许这篇文章会帮助你一点。

Interesting Posts