課程
/移動(dòng)開(kāi)發(fā)
/Android
/Flutter開(kāi)發(fā)第一步-Dart編程語(yǔ)言入門
這么厲害的閉包呢
2018-12-02
源自:Flutter開(kāi)發(fā)第一步-Dart編程語(yǔ)言入門 5-6
正在回答
js中閉包的原理是函數(shù)的作用域鏈,函數(shù)上下文可以訪問(wèn)當(dāng)前函數(shù)中的局部變量,如果當(dāng)前函數(shù)中沒(méi)有這個(gè)變量就會(huì)沿著作用域鏈向上查找,如果存在引用,則不會(huì)被GC回收,dart語(yǔ)言應(yīng)該差不多同理
如果按照1樓這樣說(shuō)的,大量的閉包代碼,會(huì)不會(huì)導(dǎo)致內(nèi)存泄漏。尤其在移動(dòng)端,導(dǎo)致OOM?
延長(zhǎng)導(dǎo)出了作用域
我覺(jué)得更像js中的閉包;每一個(gè)函數(shù)調(diào)用后就會(huì)被垃圾回收機(jī)制給回收掉內(nèi)部的變量,然有了閉包,外部的變量引用了函數(shù)內(nèi)部的變量,所以函數(shù)不能被銷毀,因此就能持有狀態(tài)了。
這應(yīng)該就是dart中所說(shuō)的方法即是對(duì)象吧。既然是對(duì)象,那么方法的局部變量也就可以理解成對(duì)象的屬性了。個(gè)人理解,也不知道說(shuō)的是否對(duì)
舉報(bào)
Flutter開(kāi)發(fā)語(yǔ)言-Dart編程入門,為大家上手及進(jìn)階Flutter打下堅(jiān)實(shí)基礎(chǔ)。
1 回答dart算是動(dòng)態(tài)類型語(yǔ)言吧, 因?yàn)樵诼暶髯兞康臅r(shí)候可以不指定變量類型, 是嗎?
1 回答dart 閉包返回值問(wèn)題
4 回答匿名方法是為了解決Java中的匿名內(nèi)部類的冗余問(wèn)題,閉包是用來(lái)簡(jiǎn)化Java中的什么問(wèn)題?
2 回答double型變量賦值整型
1 回答閉包聲明與調(diào)用問(wèn)題(與通常方法)
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2022-04-30
js中閉包的原理是函數(shù)的作用域鏈,函數(shù)上下文可以訪問(wèn)當(dāng)前函數(shù)中的局部變量,如果當(dāng)前函數(shù)中沒(méi)有這個(gè)變量就會(huì)沿著作用域鏈向上查找,如果存在引用,則不會(huì)被GC回收,dart語(yǔ)言應(yīng)該差不多同理
2020-02-28
如果按照1樓這樣說(shuō)的,大量的閉包代碼,會(huì)不會(huì)導(dǎo)致內(nèi)存泄漏。尤其在移動(dòng)端,導(dǎo)致OOM?
2019-08-13
延長(zhǎng)導(dǎo)出了作用域
2019-05-15
我覺(jué)得更像js中的閉包;每一個(gè)函數(shù)調(diào)用后就會(huì)被垃圾回收機(jī)制給回收掉內(nèi)部的變量,然有了閉包,外部的變量引用了函數(shù)內(nèi)部的變量,所以函數(shù)不能被銷毀,因此就能持有狀態(tài)了。
2018-12-03
這應(yīng)該就是dart中所說(shuō)的方法即是對(duì)象吧。既然是對(duì)象,那么方法的局部變量也就可以理解成對(duì)象的屬性了。個(gè)人理解,也不知道說(shuō)的是否對(duì)