【发布时间】:2017-11-26 11:59:01
【问题描述】:
说我有这样的代码
<html><body>
<bunch of html tags...>
<script>
function myF()={};
setTimeout(myF, 100);
</script>
<lots of more html goes here.....></body></html>
据我了解,脚本将在解析 html 时进行评估。但是,在这种情况下,我们有一个 setTimeout,然后是大量的 html 解析。超时时间什么时候可以调用?是否需要等到所有的html解析完成才最终调用myF,还是会在超时事件发生时调用myF,即使还有更多的html解析要完成?
【问题讨论】:
-
The world may never know... 并不是说这是一个毫无意义的问题,但如果有人想保证回调何时发生,他们可以使用IIFE、
document.addEventListener('DOMContentLoaded', ...)或$(function () { ... });跨度> -
超时不会打断当前的“线程”,那不就是等到HTML解析完之后吗?无论如何,您只是出于兴趣而询问,还是出于某种原因它在您的页面上实际上很重要? (在这种情况下,可能有更好的方法来做你正在做的任何事情。)
-
是的,这对我很重要,是的,可能有更好的方法来做事。
标签: javascript html timeout