Просто попробуйте сделать что-то на основе ответа на верхний комментарий. Возможно, более безопасно, если вы вызываете частную функцию, передавая ему этот , поэтому частная функция может ссылаться на публичную функцию с помощью этой переменной .
Я создал показывая шаблон модуля со следующим кодом.
var HTMLChanger = (function () {
var privateFunc = function () {
this.sayHello();
}
var hello = function () {
console.log('say Hello');
}
var callPrivate = function () {
privateFunc.call(this);
}
return {
sayHello: hello,
callPrivate: callPrivate
};
})();
HTMLChanger.callPrivate();
//say Hello
HTMLChanger.sayHello = function() { console.log('say Hi!') };
HTMLChanger.callPrivate();
//say Hi!
Как вы можете видеть, мы можем переопределить открытый элемент.