2013-06-22 42 views
0

我正在嘗試在JavaScript中創建一個類,該類將被繼承,並且其中一些方法將被覆蓋。Javascript方法使用

我用以下結構:

function MyClass() 
{ 
    this.myvar = null; 
    this.someotherVar = { someFunction: function(a,b){ function1(a,b); }) 

} 

// some functions 
MyClass.prototype.functionA = function() {..} 
MyClass.prototype.functionB = function() {functionC();} 

//some functions that would be overrided 
MyClass.prototype.function1= function() {...} 
MyClass.prototype.functionC= function() {...} 

現在我有2個問題:

  1. 也許functionC是一個問題,在functionB使用,因爲它是事後定義的?

  2. 如何以正確的方式聯繫到function1someFunction

+0

極其模糊的標題不會對同樣問題的網站訪問者的未來非常有用。 –

回答

1

1.也許functionC是一個問題,在functionB使用,因爲它是事後定義的?

號你一定要正確地調用它:

function() { this.functionC(); } 
//   ^^^^^ 

否則該功能不會被發現。

當然,您還必須確保functionB僅在調用functionC時纔會調用。

2.如何以正確的方式將function1someFunction關聯?

一個小問題是someFunction不是實例的方法,而是另一個對象的方法。仍然調用正確的function1,你可以在一個變量中存儲的實例的引用:

function MyClass() { 
    var self = this; 
    this.myvar = null; 
    this.someotherVar = { 
     someFunction: function(a,b){ 
      self.function1(a,b); 
     } 
    }; 
} 
+0

偉大的,我需要知道該怎麼做......謝謝! –