Prepending to an object module
by peterbenoit
JavaScript
var foo = (function (ref) {
ref.prependedMethod = function () {
console.log('prepended method called');
}
ref.Bar = function(){
return {
prependedPublicMethod: function(){
console.log("prepended public foo.Bar public method");
}
}
};
return ref;
}(foo || {}));
console.log(foo);
console.log(foo.Bar);
foo.Bar = foo.Bar || (function (ref) {
var privateMethod = function () {
console.log('private method called');
}
return {
publicMethod: function () {
console.log('public method called');
}
}
}(foo || {}));
//console.log(foo.Bar);
//console.log("-----------------------------");
foo.Bar.publicMethod();
foo.prependedMethod();
try {
// foo.Bar.privateMethod();
} catch (err) {
console.log("can't call private method");
}