Skip to content

Instantly share code, notes, and snippets.

@dylan
Forked from nathansmith/module_pattern_init.js
Created July 11, 2010 12:09
Show Gist options
  • Save dylan/471504 to your computer and use it in GitHub Desktop.
Save dylan/471504 to your computer and use it in GitHub Desktop.
//
// Automatically calls all functions in APP.init
//
jQuery(document).ready(function() {
APP.go();
});
//
// Module pattern:
// http://yuiblog.com/blog/2007/06/12/module-pattern/
//
var APP = (function($, window, undefined) {
// For use only inside APP.
var private_var_one = 'foo';
var private_var_two = 'bar';
// Expose contents of APP.
return {
go: function() {
for (var i in APP.init) {
APP.init[i]();
}
},
init: {
call_automatically_one: function() {
// Called on page-load.
// Can still be called individually, via:
// APP.init.call_automatically_one();
},
call_automatically_two: function() {
// Called on page-load.
// Can still be called individually, via:
// APP.init.call_automatically_two();
}
},
misc: {
call_specifically_one: function() {
// Must be called individually, via:
// APP.misc.call_specifically_one();
},
call_specifically_two: function() {
// Must be called individually, via:
// APP.misc.call_specifically_two();
}
}
};
// Pass in jQuery ref.
})(jQuery, this);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment