为什么以下内容在 Firefox (v16) 中不起作用?
var t = setTimeout(foo(), 1000);
我在控制台中得到的错误是:“无用的 setTimeout 调用(参数周围缺少引号?)”。将它用引号括起来似乎没什么用,除了让它呈现为字符串(不出所料)。
然而,当我将它包装在一个匿名函数中时,它确实工作正常:
var t =
setTimeout(function(){
foo();
}, 1000);
但为什么有必要呢?为什么在Webkit或Opera中不爆?中风?
最佳答案
这是因为您在第一个示例中调用了 foo
。
基本上和这样做是一样的:
var tempResultOfFoo = foo();
var t = setTimeout(tempResultOfFoo, 1000);
关于javascript - Firefox 中的 setTimeOut 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13367931/