为了账号安全,请及时绑定邮箱和手机立即绑定

js闭包。看完了课程还不是很清楚。

js闭包。看完了课程还不是很清楚。

黑女2008 2016-08-30 09:09:27
谁能给我讲下闭包的具体用法。最好用简单的例子说明下,谢谢。
查看完整描述

4 回答

已采纳
?
Ewall_

TA贡献27条经验 获得超9个赞

先说两个概念:

匿名函数:就像是变量赋值语句;像 var functionName=function(){ };这种就是匿名函数。

闭包:指有权访问另一个函数作用域中的变量和函数。

一般来说常见的这种,在一个函数内部创建另一个函数就是一个闭包。

function functionName1(){
    var example="something";
    function functionName2(){
        //函数体
    };
};

functionName2里面的函数体有权访问到它不包含的变量example;此变量在另一个函数中,所以functionName2就是一个闭包。


查看完整回答
1 反对 回复 2016-08-30
?
qq_奈奈奈_03699702

TA贡献19条经验 获得超5个赞

 (function(){
        var arr=[];
        (function(){
            console.log(j);//undefined
        })();
        var j=2;
        function go(){
            console.log(j);//2
        }
        for(var i=0;i<5;i++){
            arr[i]=function(){
                console.log(i);
            }
        }
        return arr[0]();//5
    })();

高级程序设计相关部分反复看。

查看完整回答
2 反对 回复 2016-08-30
?
鲈先森

TA贡献5条经验 获得超2个赞

闭包

闭包是指有权访问另一个函数作用域中的变量的函数。创建闭包的常见方式就是在一个函数内部创建另一个函数。

function outer() {
   var localVal = 30;
   return function() {
   //在函数内创建一个匿名函数,这个函数可以通过作用域链可以访问外部的变量
       return localVal;
   }
}
var func = outer();
console.log(localVal);// localVal is not defined(…)
//外部无法访问函数内的变量。
func();//30

之前记的笔记,你可以参考一下

查看完整回答
反对 回复 2016-08-30
?
echo_kinchao

TA贡献600条经验 获得超86个赞

实践是最好的老师

查看完整回答
反对 回复 2016-08-30
  • 4 回答
  • 0 关注
  • 2051 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信