什么是闭包?

闭包的特点:

  1、函数嵌套函数

  2、内部函数可以引用外部函数的形参和变量

  3、被引用的形参和变量不会被垃圾回收机制所回收

(在这里说明一下垃圾回收机制,在讲函数作用域的时候说过,函数在调用的时候会创建一段空间去调用这个函数,在调用结束的时候,会把这个函数空间进行销毁,即垃圾回收机制,则这个函数的形参和变量也会随着被销毁,所以才有了作用域这个概念,一般情况下在该函数声明的形参和变量他的作用域仅仅限于函数的大括号)

上图:

num1已经被回收了,不能被外部所访问,所以报错

 

 

 

 

 num1和num2并没有随着函数调用结束而被销毁,而是常驻内存,此例题满足闭包的三个特点,这就是闭包

原文地址:https://www.cnblogs.com/zqlym/p/13960780.html