命名空间模式

命名空间模式

作者:LAMP小白  点击:1980  发布日期:2013-01-05 00:05:00  返回列表

命名空间(namespace)有助于减少程序中所需要的全局变量的数量,并且同时还有助于避免命名冲突或过长的名字前缀


mio_lt;scriptmio_gt;
    var MYAPP = {};
    MYAPP.some_var = 1;
    MYAPP.child = function () {};
    MYAPP.parent = function () {};
mio_lt;/scriptmio_gt;



通过命名空间函数


mio_lt;scriptmio_gt;
    //不安全的代码
    var APP = {};
    //更好的代码风格
    if (typeof APP === "undefined") {
        var APP = {};
    }
    //或者
    var APP = APP || {};
mio_lt;/scriptmio_gt;



接下来是一个命名空间的函数的实现实例,这个实现是非破坏性的,也就是说,如果已经存在一个命名空间,便不会再重新创建他


mio_lt;scriptmio_gt;
    var APP = APP || {};
    APP.namespace = function (str) {
        var parts = str.split("."),
                    parent = APP,
                    i,
                    count;
        if (parts[0] === "APP") {
            parts = parts.slice(1);
        }
        count = parts.length;
        for(i = 0; i mio_lt; count; i++) {
            if (typeof parent[parts[i]] === "undefined") {
                parent[parts[i]] = {};
            }
            parent = parent[parts[i]];
        }
        return parent;
    }
mio_lt;/scriptmio_gt;




上一篇:16进制加密URL 下一篇:快递查询API
0