(function( $){...})(jQuery);
JQUERY为何如此开头:
1.用匿名函数包裹,利用闭包产生“私有”变量,防止全局变量污染(全局变量太多);
2.传递jQuery对象,加速性能,因为jQuery对象是window对象的属性,而window对象的属性方法太多,所以当参数传递时,不用每次都便利window对象的属性和方法。
3.自己实现一个功能时,也应如此- -!
function(arg){...}
这就定义了一个匿名函数,参数为arg
而调用函数时,是在函数后面写上括号和实参的,由于操作符的优先级,函数本身也需要用括号,即:
(function(arg){...})(param)
这就相当于定义了一个参数为arg的匿名函数,并且将param作为参数来调用这个匿名函数
而(function($){...})(jQuery)则是一样的,之所以只在形参使用$,是为了不与其他库冲突,所以实参用jQuery
var fn = function($){....};
fn(jQuery);
总体来说,顺序是这样的:先计算第一个小括号,发现里面的表达式是一个函数,返会该匿名函数的引用(指针),最后一个括号则是建立匿名函数的实参和并执行。
示例:
计算两个数之和。
JavaScript:
复制代码代码如下:
(function (a,b){
alert(a+b);
})(7,8);
C:
复制代码代码如下:
int sum(int a,int b){return a+b;}
void main(){
int (*pt)(int,int); //此处定义函数指针
pt = sum;
printf("%d",pt(7+8));
}