setTimeout(function(){ //在此添加事件处理程序 }, 0);

setTimeout(function(){
  //在此添加事件处理程序
}, 0);

这段代码的实际意思就是:“在当前JavaScript 处理完成后立即运行这个函数。”在页面下载和构建
期间,只有一个JavaScript 处理过程,因此超时调用会在该过程结束时立即触发。至于这个时间与
DOMContentLoaded 被触发的时间能否同步,主要还是取决于用户使用的浏览器和页面中的其他代码。
为了确保这个方法有效,必须将其作为页面中的第一个超时调用;即便如此,也还是无法保证在所有环
境中该超时调用一定会早于load 事件被触发。

如果问题,欢迎大家及时指点,一同交流,共同提高
原文地址:https://www.cnblogs.com/wujidns/p/5482188.html