考虑以下脚本
function func()
{
alert('b');
if (document.readyState != 'complete')
setTimeout(func(),1000);
else
alert('a');
};
window.location.replace('https://www.google.com/');
setTimeout(func(),5000);

当我运行脚本时,我立即收到警报而不等待5秒钟。
答案 0 :(得分:0)
您需要从func中删除括号:
setTimeout(func,5000);
否则立即调用该函数,而不是作为稍后调用的函数传递。
function func()
{
alert('b');
if (document.readyState != 'complete')
setTimeout(func,1000);
else
alert('a');
};
setTimeout(func,5000);