本文参考MDN。
先了解一下几个事件,答案在最后面。
readystatechange事件
当readyState的属性值发生更改时,将触发该事件。
readyState可以取以下值:
loading:表示document仍在加载interactive:文档已完成加载和解析,但子资源(如images,stylesheetsandframes)仍在加载complete文档和所有子资源已完成加载,load事件即将开始。
load事件
当资源及其依赖的资源已完成加载时触发。当页面完全加载后(包括所有的图像、JavaScript文件、css文件等外部资源)。
load加载给定资源时将触发onload事件
DOMContentLoaded事件
当最初的HTML文档已被完全加载和分析时触发,而无需等待stylesheets,images、和subframes完成加载。
DOM树渲染完成时触发DOMContentLoaded事件,此时可能外部资源还在加载。
执行顺序
readystatechange, loading状态 -> readystatechange, interactive状态 ->DOMContentLoaded事件 -> readystatechange, complete状态 -> window.onload