使用时setTimeout
,必须将要执行的代码放入字符串中:
setTimeout('alert("foobar!");', 1000);
但是,我想执行一个在变量中有引用的函数。我希望能够做到这一点:
var myGreatFunction = function() { alert("foobar!"); };
// ...
setTimeout('myGreatFunction();', 1000);
(虽然在现实生活中,警报是一段较长的代码,并myGreatFunction
作为参数传递给其他函数,在其中setTimeout
调用 。)
当然,当超时触发时,myGreatFunction
它不是一个可识别的函数,因此它不会执行。
我希望javascript让我这样做,但它不会:
setTimeout(function() { myGreatFunction(); }, 1000);
有没有一个很好的方法来解决这个问题?