js全局变量收集器

Posted on 2020-04-05 09:34  张雪冬前端学习园地  阅读(150)  评论(0编辑  收藏  举报

js全局变量收集器

 

1.代码

// 定义方法
var overallManager = (function() {
    // 存储全局变量,闭包保护不受污染
    var overall = {};
    
     // 要创建的全局变量和变量值
    return function(name, value) {
        // 首先保证有传参
        if (arguments.length == 0) {
            return null;
        }
        // 上一句已经保证至少传入一个name,这里保证name是String类型
        name = String(name);
        // 不传value为get方法
        if (value === undefined) {
            return overall[name];
        }
        // 传value为set方法
        overall[name] = value;
    };

    
    // 使用方法
    overallManager("name", 小美)

    
    // 使用优化一下,最好先判断一下,全局变量收集器中是否存在这个变量
    if (overallManager("name") === undefined) {
    
        overallManager("name", 小美)
    }
})();