因此,我可以创建一大堆与下面的代码无关的空对象。有一个更好的方法吗?还是这是唯一的方法?

var array = [];

for (let i = 0; i < 5; i++)
{
	array.push("temp" + i);
}


for (let item of array)
{
	eval(`${item} = new Object();`);
}

temp0.first = 1;
temp4.last = "last";

for (let item of array)
{
	console.log(eval(item));
}

最佳答案

只需使用一个对象:

var objects = {};

for (let i = 0; i < 5; i++)
{
    objects["temp" + i] = {};
}

通过以下方式访问:
objects["temp0"]

要么:
objects.temp0

或者,如果您想污染全局 namespace ,则可以使用:
for (let i = 0; i < 5; i++)
{
    window["temp" + i] = {};
}

并使用以下方式访问:
temp0
temp1 //etc.

要么:
window["temp0"] //just like above

10-06 04:34