首页 > 代码库 > 我被HR问到的问题-4

我被HR问到的问题-4

  什么事闭包?

  闭包这个概念是js(javascript)中的,产生闭包的原因是当外部访问到function中的另一个内部function时就会产生一个闭包。

  function a(){

    var x=2;

    function b(y){

      alert(x+y);  

    }

    return b(3);

  }

  var c=a();// 这里按道理来说a()方法已经运行完了,因该被回收才对,但是由于b()方法中还引用着x所以是不会被回收的。

  c();// 这里运行的话不是a()方法,而是b()方法,因为a()方法是把b()方法作为返回值返回了

 

  关于闭包的详细解释http://www.jb51.net/article/24101.htm

我被HR问到的问题-4