作者:爱心永溢真情永远 | 来源:互联网 | 2023-10-12 11:57
参考:http:kingsmalltwo.iteye.comblog1962583functiona(){vari0;alert('a');functionb(){
参考:http://kingsmalltwo.iteye.com/blog/1962583
function a(){
var i=0;
alert(‘a‘);
function b(){
alert(++i);
}
return b;
}
var c = a();
c();
c();
按以往的经验来看:var c=a();这句是将函数a()赋值给了c,但很可惜的是在js中,是把return的值b()赋值给了c,这里是执行了a()这个函数。
总结:
1,闭包外层是个函数.
2,闭包内部都有函数.
3,闭包会return内部函数.
4,闭包返回的函数内部不能有return.(因为这样就真的结束了)
5,执行闭包后,闭包内部变量会存在,而闭包内部函数的内部变量不会存在.
JS的闭包,,
JS的闭包