我知道这可能与某人相似,但是我敢肯定,我还没有找到答案,我只想在变量中调用一个匿名函数,就像这样
me.req.ref['index']['index'] = function() {
var a, mount;
return {
function: function(fout) {
mount = new loading(fout, "flogin");
mount.start("Login granted, redirecting..");
a = setTimeout(function() {
window.location.href = purl+"profile";
}, 1000);
}
}
};
我想这样称呼它。
var ret;
ret = new me.req.ref[refcode][resp];
ret.function(fout);
但显示错误。
未捕获的TypeError:ret不是函数
我在方法loading()
中实现了这一点,并且效果很好,这里是代码。
function loading(e, code) {
var x = 0;
return {
start: function(str) {
var dot, y;
dot = [".","..","...","...."];
y = 0;
e.style.height = "auto";
e.style.maxHeight = "100%";
e.innerHTML = str+dot[y]+" ("+x+")";
me.time.mount[code] = setInterval(function() {
e.innerHTML = str+dot[y]+" ("+x+")";
x++; y++;
if(y>3) {
y = 0;
}
}, 1000);
},
stop: function() {
clearInterval(me.time.mount[code]);
}
}
}
我叫loading()
的方式是这样的。
mount = new loading(fout, me.time.code["flogin"]);
mount.start("string"); // if i want to start an loading.
mount.stop(); // if i want to shutdown the loading.
有什么解决办法吗?请帮忙。 感谢您的纠正。
答案 0 :(得分:1)
好吧,这里的问题是,当ret().function(fout)
是ret
时,调用像Object
这样的方法,所以这个问题已经解决,要调用该函数,我需要编写它像这样ret.function(fout)
。