Skip to content

Instantly share code, notes, and snippets.

@FiNGAHOLiC
Created January 13, 2012 12:17
Show Gist options
  • Save FiNGAHOLiC/1605823 to your computer and use it in GitHub Desktop.
Save FiNGAHOLiC/1605823 to your computer and use it in GitHub Desktop.
Module pattern
// http://speakerdeck.com/u/addyosmani/p/large-scale-javascript-application-architecture
var backetModule = (function(){
var basket = []; // private
return { // exposed to public
addItem : function(values){
basket.push(values);
},
getItemCount : function(){
return basket.length;
},
getTotal : function(){
var q = this.getItemCount, p = 0;
while(q--){
p += basket[q].price;
};
return p;
}
};
}());
basketModule.addItem({ item : 'bread', price : 0.5 });
basketModule.addItem({ item : 'butter', price : 0.3 });
console.log(basketModule.getItemCount()); // 2
console.log(basketModule.getTotal()); // 0.8
console.log(basketModule.basket); // undefined
console.log(basket); // undefined
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment