最近我一直在深入研究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();
怎么做?如果你觉得我对自己的情景采取了错误的方式,我也很高兴听到有关建筑的某些建议。
答案 0 :(得分:3)
实际上,匿名函数的语法不完整。
首先,您必须执行带有结束括号的匿名块:
(function (...) {
...
})(...)
在块中,您的代码可以通过以下方式进行改进:
var listLoad = {};
(function (x) {
x.create = {
init: function(data) {
console.log('plop');
}
}
})(listLoad);
listLoad.create.init()
这会激发人们登录控制台。