浅谈闭包
Posted jsjx-xtfh
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浅谈闭包相关的知识,希望对你有一定的参考价值。
1、在函数内部 如果没有用var声明的变量是全局变量
2、什么是闭包
能够访问其他函数内部的变量或者方法
特点:
1、函数嵌套函数
2、必须有return
3、闭包的作用
1、能够访问局部变量或者方法
2、在for循环中可以保留i的值
4、闭包的危害
会占用内存空间 会在IE浏览器下造成内存泄漏
当不用局部的变量或者方法的时候需要进行销毁
5、什么是垃圾回收机制
当一个函数内部的一些方法或者属性没有在全局进行调用的时候,当前函数运行完毕以后就会被回收,下次在调用当前函数的时候函数内部的方法和属性都会被重置,如果一个函数的一些方法和属性在全局进行调用了,那么当前函数不会被销毁,下次在调用当前函数的时候里面的方法和属性不会进行重置
example1:
function fn(){
var a=10;
return function(){
a++;
console.log(a);
}
}
var a=fn();
a(); //11
a(); //12
example2:
example3:
以上是关于浅谈闭包的主要内容,如果未能解决你的问题,请参考以下文章