Skip to content

Instantly share code, notes, and snippets.

@obenjiro
Last active October 11, 2015 14:48
Show Gist options
  • Save obenjiro/3875653 to your computer and use it in GitHub Desktop.
Save obenjiro/3875653 to your computer and use it in GitHub Desktop.
Namespace Pattern #2 (81 chars)
//namespace patter #2 - with comments
this.n = function(namespace, namespaceItem, lastObject, namespaceList) {
lastObject = this;
namespaceList = namespace.split('.');
while(namespaceItem = namespaceList.shift()) {
lastObject = lastObject[namespaceItem] = lastObject[namespaceItem]||{};
}
}
//namespace patter #2 - obfuscated (81 chars)
this.n=function(a,b,c,d){for(c=this,d=a.split(".");b=d.shift();)c=c[b]=c[b]||{}};
//namespace patter #2 - usage
n("system.drawing");
system.drawing.doIt = function(){};
n("system.net");
system.net.constant = "const";
console.log(system.drawing.doIt);
console.log(system.net.constant);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment