由于我无法理解的原因,以下功能似乎不起作用。
function timerTick()
{
var t=setTimeout(timerTick,1000);
}
一切都应该有效,但是当我调用该函数时,控制台只是说“未定义”。
想法?
答案 0 :(得分:3)
一切正常。你所看到的是timerTick
本身的invokation的返回值,它本身没有return语句,返回值因此为undefined
。 (局部变量t
不自动返回!)
如果添加
console.log( "It's me. Again!" );
在 timerTick
内并调用它,您将在控制台中按预期每秒看到它。
编辑:错误的代码和说明:未从控制台调用的函数的返回值,例如通过setTimeout
或setInterval
,将不会打印到控制台。
答案 1 :(得分:0)
一切都应该有效,但是当我调用这个函数时, 控制台简单地说'未定义'。
想法?
可能是您过去将此代码导入控制台并按Enter键(例如,在Chrome中)? 在这种情况下,控制台说“未定义”。 如果你需要运行函数timerTick,请尝试下一步: 1)
function timerTick()
{
console.info('i am called');
var t=setTimeout(timerTick,1000);
}
timerTick();
或 2)
(function timerTick()
{
console.info('i am called');
var t=setTimeout(timerTick,1000);
})();