这似乎不对,但这就是Firefox似乎在行动的方式。
setTimeout(print(),5000);
function print(){
console.log(1);
}
在5秒钟之前,单击一个链接并在下一页开始渲染之前,将向控制台打印1。有任何想法吗?谢谢!
编辑:重新命名,显示示例代码中存在错误,而不是firefox行为。
答案 0 :(得分:7)
不,问题是您正在立即执行打印功能。删除括号,以便传递函数对象而不是执行它。
setTimeout(print,50000);
答案 1 :(得分:4)
Firefox会在获得调用它的表达式时调用print
,例如print()
。
您正在呼叫print
并将其返回值(undefined
)传递给setTimeout
。
删除()
以传递函数本身。