如何在javascript中使一个对象成为数组的元素

Bar*_*man 2 javascript arrays object

假设我在javascript中有一个对象数组:

var obj0 = new Object();
var obj1 = new Object();
var obj2 = new Object();
var obj3= new Object();

var array = new Array(obj0,obj1,obj2,obj3);
Run Code Online (Sandbox Code Playgroud)

如果我写:

array[1] = null;
Run Code Online (Sandbox Code Playgroud)

这将给我带来的[obj0,null,obj2,obj3]是数组的情况,而不是对象本身; 该obj1不会真的在内存被清零.

如何通过数组访问对象?

Gop*_*han 5

您只需要删除对该对象的所有引用,包括obj1引用.然后垃圾收集器将处理剩下的事情.

但是,如果你的obj1变量是一个局部变量(因为它似乎在你的代码片段中),你可以按原样保留引用.当封闭方法返回时,将清除局部变量,并随后清除空的对象.