访问JavaScript中的函数变量?

时间:2019-10-14 14:46:38

标签: javascript function

这段代码在做什么?我只是想了解我正在使用的库(括号)。看起来它正在为函数设置一些变量?我什至在搜索这个内容时也很难,因为我不确定它叫什么。

var define = function(module, deps, payload) {
    if (typeof module !== "string") {
        if (define.original)
            define.original.apply(this, arguments);
        else {
            console.error("dropping module because define wasn\'t a string.");
            console.trace();
        }
        return;
    }
    if (arguments.length == 2)
        payload = deps;
    if (!define.modules[module]) {
        define.payloads[module] = payload;
        define.modules[module] = null;
    }
};

define.modules = {};
define.payloads = {};

1 个答案:

答案 0 :(得分:0)

该函数使用函数对象的属性,而不是定义全局变量来保持其状态。

最后的分配只是初始化modulespayloads属性。否则,该函数每次都必须使用以下内容进行检查:

if (!define.modules) {
    define.modules = {};
    define.payloads = {};
}

在将新条目添加到那些对象的代码之前。但是,由于只需要执行一次,因此每次都进行检查很浪费。

相关问题