1 function f1() { 2 var n = 100; 3 //闭包:内部方法使用外部变量,外部变量一直维持着,不被释放 4 //就是通过作用域链关联起来的 5 return function () { 6 alert(n); 7 }; 8 } 9 var fn = f1();//由于内部变量引用了外部作用域链,所以n不会被释放 10 11 fn();//当该方法执行完毕后,n才会被释放
1 function f1() { 2 var n = 100; 3 //闭包:内部方法使用外部变量,外部变量一直维持着,不被释放 4 //就是通过作用域链关联起来的 5 return function () { 6 alert(n); 7 }; 8 } 9 var fn = f1();//由于内部变量引用了外部作用域链,所以n不会被释放 10 11 fn();//当该方法执行完毕后,n才会被释放