javascript - Firefox 中的 setTimeOut 问题

标签 javascript firefox

为什么以下内容在 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/

相关文章:

javascript - Shopify - 我可以从浏览器控制台访问 JSON 对象,但不能从主题文件访问

Javascript 将文本字段限制为数字和小数?

javascript - 使用javascript更改日期的顺序

passwords - 2016 年 Firefox 密码恢复

javascript - 打开新标签页

Firefox 按钮外部发光与 CSS

html - 网站大小在浏览器中发生巨大变化

javascript - Mootools - Fx.Tween 与 Fx.Morph

html - <iframe> 未使用 css 网格(Chrome、Edge、Opera)中的可用空间,但它适用于 Firefox

javascript - jQuery DatePicker 中的错误