js闭包

Posted 篱外听雨

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js闭包相关的知识,希望对你有一定的参考价值。

首先需要阐明的就是,闭包会把一些变量值永久的存储在内存中,这些变量不会随着函数的执行结束而销毁掉。我们可以通过闭包去访问这些函数内部变量的值,这也是闭包的特点。

闭包就是一种延缓垃圾回收的机制,一般一个函数执行完函数内部的变量会跟着销毁掉,但是有时候你还需要这个变量,为了不让这个变量被销毁掉,只要让这个变量有引用存在就行。
其它答案里面各种解释都是细枝末节,举的各种例子,还有闭包的样子都是这个原因导致的结果而已。

 

是在javascript中,我们却可以在函数返回之后,依旧能使用其local变量!上面的例子已经很好的说明了, text其实是函数sayHello2的local变量,但是我们却在它return了之后,依旧能访问到它。正是通过函数闭包,才达到了上面的目的。


以上是关于js闭包的主要内容,如果未能解决你的问题,请参考以下文章

JS闭包的概念

(原创)JS闭包看代码理解

关于JS闭包

js闭包的作用

js闭包

js的闭包