//所谓的闭包,就是在函数的外部获取内部的变量的一种方法 function func1(){ var numb1=10; numb2=12; } func1(); //console.log(numb1);//会报错 console.log(numb2);//12,没有var,默认成了全局的变量 function func2(){ var numb1=10; numb2=12; function func3(){ return numb1;//返回了10 } return func3; } var func4=func2();//类似于得到了func3,运行func4()变成了func3(),结果得到了numb1; console.log(func4());//运行结果是10;这样就取得了里面的变量值
值得注意的是,这种方法要慎用,因为会将变量存储在内存中,会消耗内存,适当的时候需要释放内存。