我刚刚问了一下名字调用函数,现在我要处理return
语句后SetTimeout
:获取返回值之后的setTimeout
function ECall(funcName, arg)
{
command += "(";
for (var i=1; i<arguments.length; i++)
{
command += "'" + arguments[i] + "'";
if (i != arguments.length-1) command += ',';
}
command += ")";
//var funcPtr = eval(funcName);
//return funcPtr(arg); // This works, but I need SetTimeout
setTimeout('window[\'' + funcName + '\']' + command, 1000);
}
setTimeout
的伟大工程,但我必须节省调用函数的返回值。当我写:setTimeout('alert(window[\'' + funcName + '\']' + command + ')', 1000);
它提醒函数的返回值。我如何存储它?
功能的变量?有没有办法做到这一点? – Ockonal 2011-03-06 15:01:15
@Ockonal:我在答案中使用了一个警告,但是@Tim Down在他的回答中显示了相同的概念(http://stackoverflow.com/questions/5211103/get-return-value-after-settimeout/5211190# 5211190),但将结果存储在预先定义的变量中(这是您似乎想要的)。该值直到'setTimeout'运行才会可用。 – user113716 2011-03-06 15:03:16