When implementing the module pattern, how do private functions access the private properties of the module? I haven't seen any examples where developers do this. Is there any reason not to?
var module = (function(){
// private property
var number = 0;
// private method
_privateIncrement = function(){
// how do I access private properties here?
number++;
};
// public api
return {
// OK
getNumber: function(){
return number;
},
// OK
incrNumber: function(){
number++;
},
// Doesn't work. _privateIncrement doesn't have
// access to the module's scope.
privateIncrNumber: function(){
_privateIncrement();
}
};
})();
_privateIncrement
with avar
declaration. – Tribrachnumber
wasn't bound in the module's closure, and was a part of the object, then you might need to useapply()
orcall()
to invoke the private method in the correct context._privateIncrement.call(this)
– Tennessee