Skip to content

Instantly share code, notes, and snippets.

@sebmarkbage
Created March 11, 2012 15:12
Show Gist options
  • Save sebmarkbage/2016771 to your computer and use it in GitHub Desktop.
Save sebmarkbage/2016771 to your computer and use it in GitHub Desktop.
Module Compilation
(function(){
var a, b, c;
function A(){
if (a) return a;
var exports = a = {};
var n = 'foo';
var x = function(){
};
exports.foo = !n ? x : n;
return exports;
}
function B(){
if (b) return b;
var exports = b = {};
var n = 'bar', f = A().foo;
exports.bar = f + f + n;
return exports;
}
function C(){
if (c) return c;
var exports = c = {};
exports.foobar = B().bar;
return exports;
}
alert(C().foobar);
})();
(function(){
var a, b, c;
function A(){
if (a) return a;
var exports = a = {};
var n = 'foo';
var x = function(){
};
exports.foo = !n ? x : n;
return exports;
}
function B(){
if (b) return b;
var exports = b = {};
var n = 'bar', f = A().foo;
exports.bar = f + A().foo + n;
return exports;
}
function C(){
if (c) return c;
var exports = c = {};
exports.foobar = B().bar;
return exports;
}
alert(C().foobar);
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment