什么是闭包?闭包详解

首先要知道JavaScript是使用垃圾回收的语言,它会每隔一段时间就会释放内存进行闲置资源回收。像函数中的局部变量,函数执行时在内部使用了变量,栈内存会分配空间以保存相应的值。在函数使用结束后,这个局部变量就不需要了,占用的内存就会被释放。

专注于为中小企业提供成都做网站、成都网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业天峻免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上1000+企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

那我们若是想要使这个变量不被清理,一直处于被使用中,那就得让他一直被引用,那么我们可以在一个函数里面嵌入一个函数,小函数里面引用大函数里的变量,并把这个函数返回到全局中,此刻我们便可让它不被清理并在全局中使用它了

放代码:

 1 function big(){//大函数
 2     var savevar = 10;//数据
 3     function little(){//小函数
 4         return savevar;//引用大函数的数据,并把数据返回出去
 5     }
 6     return little;//把小函数返回出去
 7 }
 8 var deal = big();//调用大函数,返回出来小函数
 9 console.log(deal); // 返回的是little()这个小函数函数,如果要访问到num就需要调用这个函数
10 var money = deal(); //调用小函数,返回出来小函数里操作的值
11 console.log(money) // 10,输出

文章名称:什么是闭包?闭包详解
文章路径:http://hbruida.cn/article/dsojiig.html