如果我创建一个新对象:
var objA:Object = new Object;
然后我将它传递给一个类的实例:
var objB:Class = new B(objA);
这是我在B类中的销毁功能:
public function destroy():void
{
__objA = null // __objA being just objA
}
这会破坏objA还是只会破坏对B类实例内部对象的引用?
答案 0 :(得分:0)
我不相信objA会被摧毁。引用本身(__objA)将被销毁,但objA将继续存在,因为变量__objA仅指向objA。
答案 1 :(得分:0)
objA和__objA只是对“new Object”创建的对象的引用。只要至少有一个对象仍然存在,该对象就不会被销毁。
例如,如果objA是方法的局部变量,则只要方法完成执行,objA引用就不再存在。当然,除非方法有任何延续(匿名事件监听器)。如果是这种情况,objA会一直待在听众被删除之前。