jQuery匿名函数 - 嵌套函数

时间:2012-02-23 09:54:44

标签: javascript jquery anonymous-function

最近我一直在深入研究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();

怎么做?如果你觉得我对自己的情景采取了错误的方式,我也很高兴听到有关建筑的某些建议。

1 个答案:

答案 0 :(得分:3)

实际上,匿名函数的语法不完整。

首先,您必须执行带有结束括号的匿名块:

(function (...) {
    ...
})(...)

在块中,您的代码可以通过以下方式进行改进:

var listLoad = {};

(function (x) {
    x.create = {
        init: function(data) {
            console.log('plop');
        }
    }
})(listLoad);


listLoad.create.init()

这会激发人们登录控制台。