问答详情
源自:5-6 闭包

闭包持有局部变量的状态原理是啥啊?

这么厉害的闭包呢

提问者:慕粉3816715 2018-12-02 18:46

个回答

  • SKFsky
    2022-04-30 11:09:05

    js中闭包的原理是函数的作用域链,函数上下文可以访问当前函数中的局部变量,如果当前函数中没有这个变量就会沿着作用域链向上查找,如果存在引用,则不会被GC回收,dart语言应该差不多同理

  • 慕粉15517108393
    2020-02-28 17:06:55

    如果按照1楼这样说的,大量的闭包代码,会不会导致内存泄漏。尤其在移动端,导致OOM?

  • 问天玄铁
    2019-08-13 16:16:02

    延长导出了作用域

  • weixin_慕的地7598849
    2019-05-15 23:08:08

    我觉得更像js中的闭包;每一个函数调用后就会被垃圾回收机制给回收掉内部的变量,然有了闭包,外部的变量引用了函数内部的变量,所以函数不能被销毁,因此就能持有状态了。

  • qq_穿越_5
    2018-12-03 15:56:20

    这应该就是dart中所说的方法即是对象吧。既然是对象,那么方法的局部变量也就可以理解成对象的属性了。个人理解,也不知道说的是否对