一个JS的问题

我在看cssQuery的源码的时候,发现它开头就用了这样一个结构:

var cssQuery = function(){

....代码若干

}();

我很好奇,它定义这么一个变量(cssQuery)干什么用呢?

function(){}是js的匿名函数
() 是函数的调用方式

function(){}()意味着定义的匿名函数立马执行,cssQuery得到的是匿名函数的返回值

example:

var int=function(){
return 3
}();

等价于

var int=3;

程序含义如楼上所说,
这种方式主要是为产生一个闭包,一个隐藏的作用域避免污染全局变量

(funciont(){
window['mySpace']={};
function $(){}
window['mySpace']['$']=$;
})()

外部匿名自执行函数运行完毕后,由于外部变量window.mySpace始终引用着内部变量{}导致局部变量的值始终维持在内存中。