2013-09-24 127 views
0

关键指标我有一个对象的节日,看起来像这样:传递参数和在JavaScript

Object {friday: Object} 
    friday: Object 
     amazon: Object 
      band: Object 

现在我有一个函数:

function newAct(band, date, startTime, endTime, stage){ 
    var act = new Object(); 
    switch(date){ 
    case "friday": 
     switch(stage){ 
      case "amazon": 
       festival.friday.amazon.band= new Object(); 

       break; 
     } 
     break; 
    } 
    return act; 
} 

在该行:

festival.friday.amazon.band= new Object(); 

我想插入我的参数'band'(作为Amazon对象的一个​​新属性)。 如何做到这一点?

编辑

这不是物业带的价值。这是关于财产乐队的命名。我想在参数后面命名它。新行动(“自杀沉默”,“星期五”,19:30,20:30,“StageTwo”);所以,现在的财产是Suicide_Silence等你拿:

festival.friday.amazon.Suicide_Silence = new Object();           
+0

festival.friday.amazon.band =频带的对象的文字符号{}; ? 或festival.firday.amazon = {'band':band}? – MichaC

+0

上面的代码究竟出了什么问题? – Kippie

+0

这不是关于房地产乐队的价值。 这是关于财产乐队的命名。我想在参数后面命名。新行动(“自杀沉默”,“星期五”,19:30,20:30,“StageTwo”); 所以现在财产将是Suicide_Silence所以你得到: festival.friday.amazon.Suicide_Silence = new Object(); – Baklap4

回答

0

你的意思是这样的,然后呢?

var bandname = "Suicide_Silence"; 
festival.friday.amazon[bandname] = new Object(); 

顺便说一句,我建议使用代替new Object()

+0

这就是我的意思谢谢人!:D – Baklap4

0

arguments对象不是一个数组,虽然它看起来像它。要转换arguments到一个数组,你可以这样做:

var args = Array.prototype.slice.call(arguments);