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

谁能给我讲下闭包的具体用法。最好用简单的例子说明下,谢谢。

黑女2008
浏览 2059回答 4
4回答

Ewall_

先说两个概念:匿名函数:就像是变量赋值语句;像 var functionName=function(){ };这种就是匿名函数。闭包:指有权访问另一个函数作用域中的变量和函数。一般来说常见的这种,在一个函数内部创建另一个函数就是一个闭包。function functionName1(){     var example="something";     function functionName2(){         //函数体     }; };functionName2里面的函数体有权访问到它不包含的变量example;此变量在另一个函数中,所以functionName2就是一个闭包。

qq_奈奈奈_03699702

 (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     })();高级程序设计相关部分反复看。

鲈先森

闭包闭包是指有权访问另一个函数作用域中的变量的函数。创建闭包的常见方式就是在一个函数内部创建另一个函数。function outer() {    var localVal = 30;    return function() {    //在函数内创建一个匿名函数,这个函数可以通过作用域链可以访问外部的变量        return localVal;    }}var func = outer();console.log(localVal);// localVal is not defined(…)//外部无法访问函数内的变量。func();//30之前记的笔记,你可以参考一下

echo_kinchao

实践是最好的老师
打开App,查看更多内容
随时随地看视频慕课网APP