(function($) {
    if (!$) return;
    // ----------------------------
    // String原型方法扩展
    $.extend(String.prototype, {

      'toMapObject': function(sep) {
/*对当前字符串进行分割 然后把数组第1个位置的数字作为第一层对象赋值给d 然后把第2个位置的数字作为第二层的对象赋值给d以此类推 最终得到一个自己定义的多层结构的对象 然后可以根据它扩展一些自己需要的方法 达到了实现自定义命名空间的目的*/
            var sep = sep || '/';
            var s = this.split(sep);
            var d = {};
            var o = function(a, b, c) {
                if (c < b.length) {
                    if (!a[b[c]]) {
                        a[b[c]] = {};
                    }
                    d = a[b[c]];
                    o(a[b[c]], b, c + 1);
                }
            };
            o(window, s, 1);
            return d;
        }
    })
})

比如说定义一个字符串
f2e.GUI
"f2e.GUI".toMapObject(".");

之后就能用 f2e.GUI.showfunction = {
    do something...
}