课程
/移动开发
/Android
/Flutter开发第一步-Dart编程语言入门
这么厉害的闭包呢
2018-12-02
源自:Flutter开发第一步-Dart编程语言入门 5-6
正在回答
js中闭包的原理是函数的作用域链,函数上下文可以访问当前函数中的局部变量,如果当前函数中没有这个变量就会沿着作用域链向上查找,如果存在引用,则不会被GC回收,dart语言应该差不多同理
如果按照1楼这样说的,大量的闭包代码,会不会导致内存泄漏。尤其在移动端,导致OOM?
延长导出了作用域
我觉得更像js中的闭包;每一个函数调用后就会被垃圾回收机制给回收掉内部的变量,然有了闭包,外部的变量引用了函数内部的变量,所以函数不能被销毁,因此就能持有状态了。
这应该就是dart中所说的方法即是对象吧。既然是对象,那么方法的局部变量也就可以理解成对象的属性了。个人理解,也不知道说的是否对
举报
Flutter开发语言-Dart编程入门,为大家上手及进阶Flutter打下坚实基础。
1 回答dart算是动态类型语言吧, 因为在声明变量的时候可以不指定变量类型, 是吗?
1 回答dart 闭包返回值问题
4 回答匿名方法是为了解决Java中的匿名内部类的冗余问题,闭包是用来简化Java中的什么问题?
2 回答double型变量赋值整型
1 回答闭包声明与调用问题(与通常方法)