在javascript中从其他命名函数调用命名函数

在javascript中从其他命名函数调用命名函数,javascript,jquery,json,function,Javascript,Jquery,Json,Function,我遇到了Javascript中命名函数的问题 我有这个重新加载功能 SN.Reload = function(settings) { var _timer = null; var $grid = null; var init = function () { $grid = $(settings.wrapperSelector); if (_timer > 0 || _timer !

我遇到了Javascript中命名函数的问题

我有这个重新加载功能

   SN.Reload = function(settings) {

        var _timer = null;
        var $grid = null;

        var init = function () {

            $grid = $(settings.wrapperSelector);

            if (_timer > 0 || _timer != null)
                _timer = settings.timer;
            else
                _timer = 600000;

            window.setInterval(function () {

                LoadData();

            }, _timer);

        };

        var LoadData = function () {

            $.ajax({
                url: '/data.json',
                type: 'GET',
                dataType: 'json',
                cache: false,
                success: UpdateData,
                error: DataErrorHandler
            });

        };
}
在正常状态下,这将在X分钟运行LoadData功能-这将按预期工作

现在我有了另一个命名函数

SN.CreateJsonFromDate = function (settings) {

 .... 

  var SuccessLoad = function () {

        _dateLoader.hide();
        _wrapper.slideUp();



    }
}
是否可以在SN.CreateJsonFromDate中的SuccessLoad函数内使用SN.Reload中的LoadData


LoadData函数调用UpdateData on success从json数据更新HTML,我想在SN.CreateJsonFromDate中再次调用此函数,因为这将生成一个新的json文件。

否,因为简单地
LoadData
不存在于
SN.Reload


如果确实要重复使用
LoadData
函数,请不要将其范围限制在
SN.Reload
内,而是(根据需要)将其作为
SN.LoadData

否附加到命名空间,因为
LoadData
不存在于
SN.Reload
的范围之外


如果确实要重复使用
LoadData
函数,请不要将其范围限制在
SN.Reload
内,而是(根据需要)将其作为
SN.LoadData

附加到命名空间,如果实例化
SN.Reload
。 例如:

var obj = new SN.Reload(settings);
然后可以从此对象中使用
LoadData
,如下所示:

obj.LoadData();
是的,您必须使用以下方法公开LoadData:

this.LoadData = function(){/*your code*/}

是,如果您实例化
SN.Reload
。 例如:

var obj = new SN.Reload(settings);
然后可以从此对象中使用
LoadData
,如下所示:

obj.LoadData();
是的,您必须使用以下方法公开LoadData:

this.LoadData = function(){/*your code*/}

看起来像是一个私有函数。等等……我可以澄清一下,
SN.Reload
的目的是声明一些变量(其中一些是函数),然后不处理它们并放弃它们吗?@Katana314-是的,你可以澄清一下,但这没有什么区别
LoadData
只能在
SN的范围内访问。重新加载
并且,在编写代码时,无法在其外部访问。@Adam我有点认为重新加载用于主要目的,而OP现在想将其用于次要目的。由于代码示例是现在编写的,它甚至没有主要用途,因为它从来没有被调用过,一些小型化程序只会完全删除函数;我在暗示他可能遗漏了重要的代码。例如,如果他遗漏了确实可以从外部以某种方式访问的代码,情况就会发生变化。看起来像是一个私有函数。等等……我可以澄清一下,
SN.Reload
的目的是声明一些变量(其中一些是函数)然后什么也不做,抛弃它们?@Katana314-是的,你可以澄清这一点,但这没有什么区别
LoadData
只能在
SN的范围内访问。重新加载
并且,在编写代码时,无法在其外部访问。@Adam我有点认为重新加载用于主要目的,而OP现在想将其用于次要目的。由于代码示例是现在编写的,它甚至没有主要用途,因为它从来没有被调用过,一些小型化程序只会完全删除函数;我在暗示他可能遗漏了重要的代码。例如,如果他遗漏了一些代码,这些代码确实可以从外部以某种方式访问,情况就会改变。是的。。问题是范围!重写整个脚本,使重新加载功能可访问,它现在正在工作!谢谢是 啊问题是范围!重写整个脚本,使重新加载功能可访问,它现在正在工作!谢谢