1.什么是闭包
闭包的概念在一些文献中表达的比较难懂,我的理解就是 ==>闭包就是能读取其他函数里变量的函数
2.闭包的基本结构
function demo() { var one = 10; function demo1() { console.log(one); } }
在这段代码里,如果想在函数外面得到变量,还是不行的,怎么办呢,demo1可以得到上面的变量值,那么我们就把demo1当做函数的返回值
请看代码
function demo() { var one = 10; console.log(‘woshi‘) function demo1() { console.log(one); } return demo1; } var res = demo(); demo(); //调用demo执行打印woshi console.log(res); res();//10
3.闭包的使用注意
由于闭包会使得函数中的变量都被保存在内存中,内存消耗很大,所以不能滥用闭包,否则会造成网页的性能问题,在IE中可能导致内存泄露。解决方法是,在退出函数之前,将不使用的局部变量全部删除。