gpt4 book ai didi

javascript - setTimeout() - 匿名函数语法在页面加载时触发两次

转载 作者:行者123 更新时间:2023-11-28 14:38:40 26 4
gpt4 key购买 nike

以下是我的 index.html 文件及其包含的 script.js 文件的示例:

main();

function main() {
if (document.readyState == 'complete') {
console.log('test');
} else {
setTimeout(function() {
main();
}, 1000);
//setTimeout('main', 1000);
}
}
<!DOCTYPE html>
<html>

<head>
<script type="text/javascript" src="scripts.js"></script>
</head>

<body onload="javascript: main();">
</body>

</html>

由于某种原因,setTimeout(function() { main(); }, 1000); 调用 main() 两次,而 setTimeout('main ', 1000); 调用一次。两者不应该产生相同的结果吗?我错过了什么?

最佳答案

您的代码运行了 main() 两次。一次位于 js 文件的第一行,然后再次位于 body 标记的 onload 属性中。

我建议您从 body 标记中删除 onload 处理程序。

关于javascript - setTimeout() - 匿名函数语法在页面加载时触发两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48959267/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com