我在班上有一種方法,我不想公開。我想知道是否有可能從構造函數中訪問該方法?Javascript構造函數訪問自己的私有方法?
例如:
(function() {
var Config = function() {
this.data = this.getOptions();
var options = document.querySelector('.options');
options.addEventListener('click', this.toggleOption, false);
};
Config.prototype = function() {
var getOptions = function() {
// public method
},
toggleOption = function() {
// private method
};
return {
getOptions: getOptions
};
}();
var config = new Config();
})();
我的道歉,如果這已經被問過,但是這可能嗎?
對不起,我的代碼有錯誤,分配給原型的函數應該是自調用的。我正在嘗試「顯示原型模式」 - 這對我來說仍然是新的。 –
我現在看到了。您可以在外部範圍內聲明'toggleOption',在IIFE內部,它仍然是「私人」的。但是這個「私人」和「公共」的概念並沒有過渡到JS,而不是傳統的OOP意義上的。 – elclanrs
看看[this](http://stackoverflow.com/q/9248655/1048572)。 – Bergi