我正在开展一个非盈利项目,该项目跟踪来电和拨出电话的信息。我完全用HTML,Javascript创建了它。
为了存储来电号码,我确实创建了一个命名空间,如下所示:
var allCalls={
call1={
phonenumber:'',
},
call2={
phonenumber:'',
},
call3={
phonenumber:'',
}
}
使用这种架构,它一次只支持3个呼叫。我怎样才能让它变得动态?我的意思是我可以动态生成这些变量吗?
答案 0 :(得分:2)
由于call1
,call2
等有点多余,因此最好将数据存储在数组而不是对象中。我推荐这个(对象将在数组中自动编号)。的 Live demo (click). 强>
var calls = [];
function foo(phone) {
return { phoneNumber: phone };
}
//call comes in
var call = foo('555-555-5555');
calls.push(call);
console.log(calls[0]); //0 is the first item.
//another call comes in
var call = foo('555-123-4567');
calls.push(call);
console.log(calls[1]); //etc
请注意,我将对象的创建抽象为一个函数,以使事物保持统一,可维护和干燥。