我遇到了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.Reload的LoadData在SN.CreateJsonFromDate中的SuccessLoad函数内?
LoadData函数成功时调用UpdateData并从json数据更新HTML,我想在SN.CreateJsonFromDate中再次调用此函数,因为这将生成一个新的json文件。
答案 0 :(得分:2)
不,因为LoadData
SN.Reload
如果您确实想重新使用LoadData
函数,请不要将其范围限制在SN.Reload
内,而是(可能根据您的需要)将其附加到命名空间SN.LoadData
答案 1 :(得分:2)
是的,如果您实例化LoadData
。
例如:
obj.LoadData();
然后您可以使用此对象中的this.LoadData = function(){/*your code*/}
,如下所示:
<?php ... >
是的,你必须使用它来公开LoadData:
SimpleChannelInboundHandler