2011-02-18 3 views
0

Я пытаюсь сделать что-то вроде этого:javascript: как вызвать переменную экземпляр внутри переменной?

var Test = 
{ 
    A:function() 
    { 
    array = new Array(); 
    array[0] = new Array("1","2","3"); 
    array[1] = new Array("Name","Age","blabla"); 
    }, 

    B: function() 
    { 
     var c = new this.A(); 
     alert(c); //output:: object Object 
     alert(c.array[1]); // output:: undefined 
     alert(c.array[1][0]); // output undefined 
    }  
} 

, как я могу получить извещение, например, предупреждение (c.array [1] [0]) с выходом "Name". обычно на других языках можно использовать методы из унаследованных классов, но в javascript. Я думаю (надеюсь), это возможно, но как?

Painkiller

ответ

4

Вы должны были бы изменить A:

A:function() 
{ 
this.array = new Array(); 
this.array[0] = new Array("1","2","3"); 
this.array[1] = new Array("Name","Age","blabla"); 
}, 

Если вы измените его, вы бы лучше сделать это:

A:function() 
{ 
    this.array = [ [ "1", "2", "3" ], [ "Name", "Age", "blabla" ] ]; 
}, 

"Array" конструктор - довольно плохой дизайн API, и его следует избегать.

+0

Большое спасибо, отлично работает! – Painkiller

+0

Отлично! Будьте осторожны с этими утверждениями инициализации массива - это лучший способ сделать это, но IE расстраивается, если вы случайно оставите дополнительную запятую в конце списка значений. – Pointy

Смежные вопросы