【学习笔记】二:在HTML中使用JavaScript
1.<script>标签
1)考虑到最大限度的浏览器兼容性和约定俗成,type属性使用:text/javascript。
2)标签建议放置到</body>标签前,提高用户体验(减少First Print的时间)。
3)普通的<script>标签,渲染引擎遇到会暂停,等到执行完脚本内容后继续向下渲染
(基本没用)使用defer属性可以让脚本在文档完全呈现之后再执行,延迟脚本总是按指定他们的循序执行。(实际中并不一定,所以别用了)
(基本没用)使用async异步属性可以表示当前脚本不必等待其他脚本,也不阻塞文档呈现,下载完成后就执行,但不能保证异步脚本按照它们在页面中的出现顺序执行。
注(ES6中的一段话):defer
与async
的区别是:defer
要等到整个页面在内存中正常渲染结束(DOM 结构完全生成,以及其他脚本执行完成),才会执行;async
一旦下载完,渲染引擎就会中断渲染,执行这个脚本以后,再继续渲染。一句话,defer
是“渲染完再执行”,async
是“下载完就执行”。另外,如果有多个defer
脚本,会按照它们在页面出现的顺序加载,而多个async
脚本是不能保证加载顺序的。
2.文档模式
混合模式、标准模式、准标准模式。
一般使用:<!-- HTML 5 -->
<!DOCTYPE html>
指定文档为html5的标准模式,维护浏览器的一致性。
3.<noscript>
<noscript>元素指定在不支持脚本的浏览器中显示的代替内容。