JS的闭包

参考: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的闭包,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。