创建具有根据计数器环
问题描述:
唯一名称的JavaScript对象我是新足JavaScript和我有关于制定变量名小查询:创建具有根据计数器环
function createObjects(int length) {
var count;
for(count=0; count<length; count++;) {
var personObj + "" + count;
}
}
在这里我要制定各自不同的personObj对象迭代for循环,这是正确的过程?将这个给我: VAR personObj1 VAR personObj2 等
谢谢! Matt
答
如果你想拥有同样的基础数据结构/逻辑的几个实例,你可以使用这样的方法:
创建constructor function生成与属性(也方法)的Object
你需要的。例如:
function PersonObj(name, age) {
this.name = name;
this.age = age;
}
这使您可以通过使用var n = new PersonObj('Fred',32);
创造PersonObj
一个新的实例。现在你可以使用一个Array存储多个instancesof这些对象:
var persons = []; // creates a new Array
for (var i = 1; i < 13; i++){
persons.push(new PersonObj('Alfred', i));
}
persons
现在将包含的1岁12个艾尔弗雷德到12
如果你想改变阿尔弗雷德第3号的年龄你可以这样做:
persons[2].age = 99;
答
为什么不用这个数组呢?
答
不要。动态生成变量从来不是一个好主意。改用对象或数组。它们旨在构建相关数据组。
function createObjects(length) {
var count, people = [];
for(count=0; count<length; count++;) {
people.push('something');
}
return people;
}
答
如果需要,必须,你可以命名属性alwvays添加到窗口对象:
function createObjects(int length) {
var count;
for(count=0; count<length; count++;) {
window[personObj + "" + count] = new SomeObject();
}
}
答
创建对象,添加属性,对象和对象存储在数组中。
var al = new Array();
function createObjects(int length) {
var o = new Object();
for(var count=0; count<length; count++;) {
o.count = 'some value';
}
al.push(o);
}
你打算在循环之后用这些对象做什么?存储它们?哪里? – Joseph 2012-04-13 11:35:37
你不能这样做,你将不得不创建一个数组并将变量存储在它们中。只是好奇,你是JavaScript的新手想知道是否有其他语言允许我以这种方式创建变量。 – Zaje 2012-04-13 11:37:24
我想为每个对象创建属性,然后将它们存储在一个数组中,我应该为一个对象定义属性,然后将每个对象插入数组中的索引,然后重新初始化属性? – MattTheHack 2012-04-13 11:40:29