如何删除 JavaScript 中的新数组?

How to delete new'd arrays in JavaScript?

我使用的是 Unity,所以这在技术上是 UnityScript,但我假设内置数组的工作方式相同。我有一个我创建的数组:

var room:roomInfo[,,];
room=new roomInfo[5,5,5];

删除语法是什么?简单地做 delete room;delete room[,,]; 似乎不起作用。删除后我需要这样做:

room=new roomInfo[10,10,10];

这似乎是一个非常简单的问题,但我对这些事情感到困惑而忘记了,而且我在 Google 上找不到任何东西(因为我不知道要搜索什么)。

Unity 脚本(如 JavaScript)使用垃圾收集自动释放未使用的内存。

如果没有变量指向对象,则释放元素。垃圾收集器知道 可能 持有指向您的数组的指针的任何变量,并确定是否有任何变量指向该数组。

如果没有变量指向您的数组,它将被标记为已释放。

When an object, string or array is created, the memory required to store it is allocated from a central pool called the heap. When the item is no longer in use, the memory it once occupied can be reclaimed and used for something else. [...] Nowadays, runtime systems like Unity’s Mono engine manage memory for you automatically.

http://docs.unity3d.com/Manual/UnderstandingAutomaticMemoryManagement.html

你不需要这样做,因为 UnityScript 已经为你做了 (Automatic Memory Management)。但如果您仍然喜欢自己的方式,请使用:

room = null;

在此之后,您可以将其初始化为:

room = new roomInfo[10,10,10];

所以完整的代码是:

room = null;
room = new roomInfo[10,10,10];