2009-07-12 148 views
1

所以我終於理解了原型以及如何使用它。 我敢肯定,我仍然試圖解決這個問題作爲一個Java繼承問題,所以如果有一個更原型的方式去這個讓我知道。原型繼承(javascript)

如果B繼承了A我想B的構造函數首先執行A的構造函數。這對設置B的局部變量很重要。起初我以爲做這樣的事情

function B() 
{ 
    B.prototype.constructor(); 
} 
B.prototype = new A(); 

這當然不能正常工作,因爲它本質上是相同的話說

function B() 
{ 
    new A(); 
} 

有什麼辦法實際上延長Java的方式構造? 有沒有更好的方法來解決這個問題?

{編輯}我意識到問題是我試圖訪問私有變量。我假設私有變量不會從原型傳遞下來?

回答

2

當你複製一個對象到B的原型,你調用的構造函數:

B.prototype = new A(); 

設置一個局部變量通過構造函數的參數,你可以這樣做:

B.prototype = new A(arguments, here); 

不知道這雖然回答你的問題。

-3

您可以使用任何支持類模擬的Ajax框架,它們很好地處理JavaScript中的類和繼承。 也請看JS.Class

+1

不確定「任何Ajax框架」。 jQuery不會向JavaScript添加類。 – Nosredna 2009-07-12 04:37:14