我们知道,在编写js代码的时候,如果写在html的文件中,脚本在下载和执行期间会阻止HTML的解析。
所以,我们最好把JS的script标签放在body标签内的最后面,这样保证了HTML首先完成解析,页面才能尽快的展现给用户。
入口函数的作用:
有了入口函数,js脚本不会阻断HTML的解析,而是先渲染页面再进行js的解析,从而让script标签的位置显得不太那么局限
(不过良好的代码规范还是最好把script标签放在body标签内的最后面),
window.onload和jQ的入口函数对比
是否有覆盖问题 | 执行时机 | |
---|---|---|
原生js的入口函数 window.onload = function () { 逻辑代码 } | window.onload 入口函数存有覆盖问题, 一个页面中只能由一个window.onload,否则有覆盖其问题 | window.onload 当页面加载完成的, 还需要等待页面引用的外部资源(css js img video ...)加载完成才会执行 |
jQuery的入口函数 $(function () { 逻辑代码 }) | jQ的入口函数没有覆盖问题的 | jQ的入口函数先于window.onload执行的,jQ的入口函数只要是页面加载完成,就会执行的 |