var Foo = (function() {
var foo = function() { };
var privateMethod = function(){ };
foo.prototype = {
init: function() {
console.log(this.privateMethod); //undefined
}
};
return foo;
})();
我知道我可以直接訪問privateMethod
而不使用this
指針。但是因爲我來自C#世界,所以我想將其用於可讀性目的。在封閉中引用「私有方法」
有什麼辦法引用我的「私有方法」使用指針?
好,將它任何意義使用'prototype'而不是創造「私人」的方法,即使我只使用它們的「類」裏面添加的所有FOO的方法? – Johan
是的,這在原型繼承中是有意義的。請記住,原型中的屬性和方法是所有實例共享的(也就是說,沒有實例具有它們自己的副本)。如果你想在一個特定的實例上設置一些屬性值,你實際上會創建一個本地屬性,它會隱藏原型上的屬性 - 是的,這可能看起來很混亂......) – bfavaretto
但是在這種情況下,我知道我只打算創建一個實例。對不起,應該提到這一點。將我的方法移至.prototype是否仍然是一個好主意? – Johan