1
我有基於ActionScript3對象以下問題:抵消對象傳遞給函數
var o:Object = new Object();
destroyObject(o);
trace(o); // [object Object]
function destroyObject(obj:Object):void{
obj = null;
trace(obj); // null
}
由於對象是通過在AS3引用傳遞我認爲前面的代碼會改變o
到null
,但它不」噸。 有人能解釋我爲什麼嗎?
謝謝。
謝謝,換句話說,我不能讓它在函數內部工作,它必須在外面? – 2010-10-05 23:59:23
正確。當對象的所有引用都被刪除時,該對象將被釋放,因此您必須先刪除「o」引用。 – UltimateBrent 2010-10-06 00:32:20
我認爲它被稱爲「通過價值傳遞」,與Java相同。 – 2010-10-06 01:13:45