在javascript中从其他命名函数调用命名函数
我遇到了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 !
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现在想将其用于次要目的。由于代码示例是现在编写的,它甚至没有主要用途,因为它从来没有被调用过,一些小型化程序只会完全删除函数;我在暗示他可能遗漏了重要的代码。例如,如果他遗漏了一些代码,这些代码确实可以从外部以某种方式访问,情况就会改变。是的。。问题是范围!重写整个脚本,使重新加载功能可访问,它现在正在工作!谢谢是 啊问题是范围!重写整个脚本,使重新加载功能可访问,它现在正在工作!谢谢