課程
/移動開發
/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 回答閉包聲明與調用問題(與通常方法)
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2022-04-30
js中閉包的原理是函數的作用域鏈,函數上下文可以訪問當前函數中的局部變量,如果當前函數中沒有這個變量就會沿著作用域鏈向上查找,如果存在引用,則不會被GC回收,dart語言應該差不多同理
2020-02-28
如果按照1樓這樣說的,大量的閉包代碼,會不會導致內存泄漏。尤其在移動端,導致OOM?
2019-08-13
延長導出了作用域
2019-05-15
我覺得更像js中的閉包;每一個函數調用后就會被垃圾回收機制給回收掉內部的變量,然有了閉包,外部的變量引用了函數內部的變量,所以函數不能被銷毀,因此就能持有狀態了。
2018-12-03
這應該就是dart中所說的方法即是對象吧。既然是對象,那么方法的局部變量也就可以理解成對象的屬性了。個人理解,也不知道說的是否對