问答详情
源自:7-1 [JavaScript]理解闭包

为什么要加上返回值的return f2,加上去有什么作用,不加又有什么作用

function f1(){

    var n=999;

    nAdd=function(){n+=1}

    function f2(){
      alert(n);
    }

    return f2;


提问者:逸风4241167 2017-06-05 23:24

个回答

  • 0_0墨眉
    2017-06-07 11:44:27

    1. 加上return f2在调用函数f1时返回函数f2,不加则返回undefined;

    2. return f2  在调用f2是形成一个闭包,n在f1执行完后空间会被回收,但被f2捕获,内存空间得到保留,通过f2仍然可以被调用;