我从一个设计公司得到了JS代码,但我不明白为什么要将一个函数传递给自执行函数。
以下是代码的概述。
这样编写代码是否比下面的方式更有益?
以下是代码的概述。
(function(core) {
if (typeof define === "function" && define.amd) {
define("abc", function() {
var abc;
abc = window.Abc || core(window, window.jQuery, window.document);
abc.load = function(res, req, onload, config) {
var base, i, load, resource, resources;
resources = res.split(",");
load = [];
base = (config.config && config.config.abc && config.config.abc.base ? config.config.abc.base : "").replace(/\/+$/g, "");
if (!base) {
throw new Error("Please define base path to Abc in the requirejs config.");
}
i = 0;
while (i < resources.length) {
resource = resources[i].replace(/\./g, "/");
load.push(base + "/components/" + resource);
i += 1;
}
req(load, function() {
onload(abc);
});
};
return abc;
});
}
if (!window.jQuery) {
throw new Error("Abc requires jQuery");
}
if (window && window.jQuery) {
core(window, window.jQuery, window.document);
}
})(function(global, $, doc) {
var _c = {};
...
return _c;
});
这样编写代码是否比下面的方式更有益?
(function( core, $, undefined) {
...
} (window.core= window.core|| {}, jQuery )};
_c
并将其传递给IIFE,并不是高级技术。 - Satpal