语言中的闭包

    在函数调用过程中,如果需要改变一个参数的值则需要通过引用传递或指针传递地址的方式进行,其实也是按值传递,只不过传递的是需要改变的变量地址而已,那么可不可以将被调用的函数内部局部变量的状态也可以保存起来呢?当调用这个函数时,变可以继续上次调用过程中所保留的状态,并进行恢复,这种保留函数调用上下文的方法就是“闭包”。在许多函数式编程语言尤其是带有垃圾回收特性语言中,都支持闭包功能,闭包其实就是将函数执行的上下文进行保存,当再次调用时,又将其进行恢复。由于该函数的局部状态被保留并被多次调用,这也就类似于数学中的闭包。
    支持闭包特性通常需要一个嵌套函数,通过执行嵌套函数来改变所在父函数的局部变量状态,父函数保存调用上下文状态,而嵌套函数负责修改状态的改变。闭包可以看做连接程序流程的管道。


转载

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值