欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

()()匿名函数的写法中后面括号里面的参数怎么理解

更新时间: 2014-01-05 01:51:18 责任编辑: Author_N1

 

()()匿名函数的写法中后面括号里面的参数如何理解
比如下面这段代码
for(var i=0;i<aLi.length;i++){


aLi[i].onclick = (function(i){

return function(){
alert(i);
}

})(i);

}

};

后面括号中的i这个参数如何理解呢难道它是常规写法中的参数吗,如fn(abc,cde)括号中的参数吗
--参考方法--
是这个定义的function的参数,一样的
function(i){
             
                return function(){
                    alert(i);    
                }
                 
            
}

--参考方法--
闭包嘛,就是为了实现块级作用域的

为什么要块级作用域呢,因为这个模块中的某些变量,我只希望在这个模块中使用,不希望外界的其他因素导致这些变量的变化。

这个地方呢,其实就是为了模仿:fn(),这种直接执行的函数的,fn在你的代码里,就是第一个括号,第二个括号就是fn()这里的括号了,就是为了传参的。

你上面的写法,前面不加括号其实也是一样的,只是为了看着更方便,所以才加上的。

这是我的理解,如果有问题,请各位指正啊。
--参考方法--

//后面括号中的参数是实参不是形参(下面的代码中a是形参,b和"string2"是实参),它可以是已存在的变量
//或者直接是一定类型的值,如下:
var b='string';
(function(a){...})(b);//传变量给参数a
(function(a){...})('string2')//直接传值给参数a
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 01:51:18
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/2075/
本文WWW.DOC100.NET DOC100.NET版权所有。