【发布时间】:2019-04-12 17:35:47
【问题描述】:
我在服务器端有一个对象实例,在客户端有他的表示。
当我在客户端创建一个实例时,他的构造函数对服务器说,需要创建关联对象。当这个对象(客户端)超出范围时,我想对服务器说,应该删除关联的对象。
如果不每次手动调用Destroy() 方法,我怎么能做到?
【问题讨论】:
标签: javascript typescript
我在服务器端有一个对象实例,在客户端有他的表示。
当我在客户端创建一个实例时,他的构造函数对服务器说,需要创建关联对象。当这个对象(客户端)超出范围时,我想对服务器说,应该删除关联的对象。
如果不每次手动调用Destroy() 方法,我怎么能做到?
【问题讨论】:
标签: javascript typescript
如您所知,Javascript 有一个垃圾收集器。因此,您必须确保该对象符合垃圾回收条件。
如果你想告诉你的对象你已经完成了它并且它应该专门释放它拥有的任何事件侦听器,那么你可以创建一个普通的方法来做到这一点。
您可以将方法命名为 release() 或 deregister() 或任何您喜欢的名称。这个想法是告诉对象将自己与它所连接的任何其他东西断开连接(取消注册事件侦听器,清除外部对象引用等......)。应在适当的时候手动调用此方法。
您可以阅读更多关于析构函数范例on this topic
【讨论】:
这里可能有答案Is there destructor in typeScript 由于 JS 使用垃圾收集器,因此无法预测对象何时会被销毁。所以没有析构函数
【讨论】: