What does this “(function(){});”, a function inside brackets, mean in javascript?
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicates:
What does this mean? (function (x,y)){…}){a,b); in JavaScript
What do parentheses surrounding a JavaScript object/function/class declaration mean?
大家好
我不知道以下是什么:
1 2 3 4 | (function(){ // Do something here ... })(someWord) //Why is this here?; |
我的问题是:
我通常在jquery代码和其他一些javascript库中看到这些。
您正在使用特定参数立即调用anonymus函数。
一个例子:
1 2 3 | (function(name){ alert(name); })('peter') |
这警告"彼得"。
对于jQuery,您可以将
1 2 3 4 | jQuery.noConflict() (function($){ var obj = $('', { id: 'someId' }); })(jQuery) |
您正在创建一个立即被调用的函数,其中
它用于创建匿名函数(没有名称的函数,可以在其他函数中"嵌套")并将参数传递给该函数。
someWord作为参数传递,函数可以使用关键字"arguments"读取它。
简单的用法示例:
1 2 3 4 5 6 7 8 | function Foo(myval) { (function(){ // Do something here alert(arguments[0]); })(myval); //pass myval as argument to anonymous function } ... Foo(10); |
基本上,这允许您声明一个匿名函数,然后将其括在括号中并编写
这是一种定义匿名函数然后立即执行它的方法 - 不留下任何痕迹。该功能的范围是真正的本地。最后的
也许这篇文章会对你有所帮助。