我们知道,在编写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的入口函数只要是页面加载完成,就会执行的 |
?