2011-02-25 60 views
0

我有一個問題,在下面的格式代碼:錯誤使用JavaScript構造在各種格式

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

我得到一個錯誤,說this.baseConstructor不是構造函數。那麼在這種情況下我會做什麼?我知道我可以在不使用Test = {}風格的情況下重新格式化它,但有沒有辦法以這種格式來完成。

+0

你的代碼中包含語法錯誤。在'object'之前應該有一個''',並且在baseConstructor調用之後不應該有';'。 – ThiefMaster 2011-02-25 23:52:58

回答

2

此時您不能使用this,因爲您不在實例內。 Test.baseConstructor也不會工作,因爲代碼運行時尚未分配Test

這裏有一個辦法做到這一點:

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

好吧,這看起來不錯。謝謝! – 2011-02-25 23:55:41