如何在Javascript中创建动态变量?

时间:2014-01-18 00:59:14

标签: javascript

我正在开展一个非盈利项目,该项目跟踪来电和拨出电话的信息。我完全用HTML,Javascript创建了它。

为了存储来电号码,我确实创建了一个命名空间,如下所示:

var allCalls={
   call1={
     phonenumber:'',     
   },
   call2={
     phonenumber:'',     
   },
   call3={
     phonenumber:'',     
   }
}

使用这种架构,它一次只支持3个呼叫。我怎样才能让它变得动态?我的意思是我可以动态生成这些变量吗?

1 个答案:

答案 0 :(得分:2)

由于call1call2等有点多余,因此最好将数据存储在数组而不是对象中。我推荐这个(对象将在数组中自动编号)。的 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

请注意,我将对象的创建抽象为一个函数,以使事物保持统一,可维护和干燥。