如何理解(function($) {})(af); 及其参数传递

来源:互联网 发布:织梦cms拿站 编辑:程序博客网 时间:2024/05/22 06:08

更全面的理解参看:http://www.cnblogs.com/TomXu/archive/2012/01/30/2326372.html


问:如何理解(function($) {})(af); 及其参数传递


答:(function($) {})(af);  是立即执行的匿名函数,即闭包

答:(function($) {})(af) == function($){}(af) 

答:或者写成:function a($){   } ;         a(af);

答:那个函数里的$就是函数外的af

答:你把这个拆开一步一步看,它是个简写而已

如下:

var a = 0;   
function sum(x){
        return x+1;
}
sum(a);

简写1:
var a = 0;   
function sum(x){
        return x+1;
}(a)

简写2:

var a = 0;   
function (x){
        return x+1;
}(a)

简写3:

var a = 0;   
function (x){return x+1;}(a)

简写4:

var a = 0;   
(function (x){return x+1;})(a)

这样即和(function($) {})(af);是一样的了。


再比如:

var a = 0;   
function sum(x){
        return x+1;
}
alert(1);
sum(a);
___________________
var a = 0;   
function sum(x){
        return x+1;
}(a)
alert(1);

下面那种写法就是确保函数可以立即被执行,不被其他代码阻塞

0 0
原创粉丝点击