2012-06-21 147 views
0

這甚至可能嗎?在父函數原型中使用原型的Javascript函數

function foo() { 
    // do stuff 
} 
foo.prototype = { 
    // stuff... 
    bar: function() { 
     // do some things with this, where this refers to foo 
    }, 
    bar.prototype: { 
     // set some definitions for bar to work with. 
     // Where does "this" go and what does it refer to? 
    } 
} 
+0

你嘗試過嗎? – Joseph

+0

是的,我得到了一些根本性的問題。我不確定要去哪裏,所以我在這裏問了:) – felamaslen

回答

0

號你需要使用

function bar() {...} 
bar.prototype = {...}; 
function foo() {...} 
foo.prototype.bar = bar; 

雖然這是不行的。沒有理由將bar構造函數放在foo的原型上,因爲在使用new ((new foo()).bar)()實例化條對象時,將不會引用foo實例。您可以同樣使用new foo.prototype.bar()

+0

這使得它更清晰一些。我想我正在接近這個錯誤的方式。 – felamaslen