最近,我已经以一种很大的方式进入了Anonymous函数,并且想知道在尝试重新排列JS代码库时如何做到这一点。
(function (listLoad, $, undefined) {
listLoad.create = function(data)
{
this.init = function(data)
{
}
}
} (window.listLoad = window.listLoad || {}, jQuery));
我想做的显然是为“ listLoad”页面提供了许多功能,例如“ dataMap”等,其中全部都具有用于初始化页面的初始化功能。
我的主要问题是如何访问此.init函数?我猜这是私人范围。我试过了:
listLoad.create.init = function(data)
和
create.init = function(data)
甚至
init = function(data)
写作时一切都没有成功
listLoad.create.init();
这该怎么做?如果您觉得我的方案走错了方向,我也非常乐意听到有关体系结构的某些建议。
最佳答案
实际上,匿名函数的语法不完整。
首先,您必须执行带括号的匿名块:
(function (...) {
...
})(...)
在该块内部,可以通过以下方式改进您的代码:
var listLoad = {};
(function (x) {
x.create = {
init: function(data) {
console.log('plop');
}
}
})(listLoad);
listLoad.create.init()
这会激发出出现在控制台中的状态。