闭包补充

来源:互联网 发布:linux arp命令详解 编辑:程序博客网 时间:2024/06/05 15:26

什么是闭包?
1.闭包就是函数的局部变量,这些局部变量在函数返回后会继续存在,仍然可以被继续访问;
2.闭包就是就是函数的“堆栈”在函数返回后并不释放,我们也可以理解为这些函数堆栈并不在栈上分配而是在堆上分配(对第一个说法的补充);
3.当在一个函数内定义另外一个函数就会产生闭包。
闭包和静态语言的区别
共同点:闭包和静态语言做为局部变量都可以被函数内的代码访问,这是它们的共同点
不同点:闭包差别在于局部变变量可以在函数执行结束后仍然被函数外的代码访问(这是闭包的和静态语言最大的一个差别)

阅读全文
0 0