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]) 출력 "이름"와. 다른 언어에서는 일반적으로 상속 된 클래스의 메소드를 사용할 수 있지만 자바 스크립트에서는 사용할 수 없습니다. 나는 그것이 가능하다고 (희망) 생각하지만, 어떻게?

진통제

답변

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" ] ]; 
}, 

은 "배열" 생성자는 꽤 나쁜 API 디자인이므로 피해야합니다.

+0

대단히 감사합니다. – Painkiller

+0

좋아요! 이러한 배열 초기화 문은주의해야합니다. 이렇게하는 것이 가장 좋은 방법이지만 실수로 값 목록 끝에 여분의 쉼표를 사용하면 IE가 화가납니다. – Pointy