首页 > 代码库 > 闭包小谈
闭包小谈
概念:函数嵌套函数,内部函数可以引用外部函数的参数和变量,变量和参数不会被垃圾回收机制所回收
作用:◆ 1)希望一个变量长期驻扎在内存之中
2)避免全局变量的污染
3)私有成员的存在
◆注意:可能会造成内存泄漏
用一些简单的小例子来解释下闭包:
function fun1(){
var num=1;
}
//我想取到里面的局部变量num
function fun1(){
var num=1;
function fun2(){
//在加一个fun2当他的子元素
alert(num);
}
}
接下来我们就是需要用return出来返回值
function fun1(){
var num=1;
function fun2(){//在加一个fun2当他的子元素
alert(num);
}
return fun2(); //return出来后 它就给 window了所以一直存在内存中
}
fun1();
内存泄漏与内存溢出
1.内存溢出:指的是程序向系统申请一定大小内存,而系统不能满足程序的要求就是内存的溢出。2.内存泄漏:指申请的内存一直得不到释放,GC回收不了。一般在项目中就是,你声明的变量一直保存在内存中,它有值但你把它的引用地址搞丢了一直没法用它,而GC又没法回收这块内存给别的程序使用就叫内存泄漏。
闭包小谈
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。