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