I wrote a simple namespacer. Do you think this is useful in real world
applications? Any improvements that can be made to the code? Thank
you.

var namespace = function (name, global){
        var root = global || '$';

        (!eval('window.'+root))? eval('window.' + root + '={}') : '';


        var name = name.split(".");
        var fullname;
        for (var i=0; i<name.length; i++) {
                fullname = (!i) ? name[i] : fullname + "." + name[i];
                if (!eval (root + "." + fullname))
                        eval (root + "." + fullname + " = {}");
        }
}

namespace('hello.yahoo');
namespace('helloz.yahoo2');
namespace('helloz.yahoo2', 'YAHOO');



$.hello.yahoo.init = function() { alert(1); };
$.helloz.yahoo2.init = function() { alert(2); };
YAHOO.helloz.yahoo2.init = function() {alert(3); };

$.hello.yahoo.init(); //alerts 1
$.helloz.yahoo2.init(); // alerts 2
YAHOO.helloz.yahoo2.init(); // alerts 3

Reply via email to