2011-02-25 2 views
0

나는 다음과 같은 형식의 코드에 문제가 있습니다오류가

Test = { 
    baseConstructor: function(a, b) { 
     this.a = a; 
     this.b = b;   
    }, 
    object: new Test.baseConstructor(x, y) 
}; 

나는 오류가 this.baseConstructor 생성자 아니라고 말하는 얻을. 그렇다면이 경우 어떻게해야합니까? Test = {} 스타일을 사용하지 않고 형식을 다시 지정할 수 있지만이 형식으로 수행 할 수있는 방법이 있는지 알고 있습니다.

+0

귀하의 코드에 구문 오류가 있습니다. 'object' 전에는','가 있어야하고 baseConstructor 호출 후에';'가 없어야합니다. – ThiefMaster

답변

2

인스턴스 내에 있지 않기 때문에이 시점에서 this을 사용할 수 없습니다. 코드가 실행될 때 Test이 아직 할당되지 않았기 때문에 Test.baseConstructor도 작동하지 않습니다.

여기에 그것을 할 수있는 방법 :

var Test = { 
    baseConstructor: function(a, b) { 
     this.a = a; 
     this.b = b;   
    } 
}; 
Test.object = new Test.baseConstructor(1, 2); 
+0

좋습니다. 감사! –