【问题标题】:What does this "(function(){});", a function inside brackets, mean in javascript? [duplicate]这个“(function(){});”,括号内的函数,在javascript中是什么意思? [复制]
【发布时间】:2011-05-01 21:56:48
【问题描述】:
【问题讨论】:
标签:
javascript
coding-style
scope
anonymous-function
javascript-namespaces
【解决方案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);