1.script标签的位置
传统的做法是把所有外部文件(CSS文件和JavaScript文件)引用放在head标签内,这意味着必须等到全部JavaScript代码都被下载、解析和执行完以后,才能开始呈现页面的内容(浏览器在遇到body标签时才开始呈现内容),这会导致浏览器在呈现内容时出现延迟,为了避免这个问题,可以将全部JavaScript引用放在body标签中页面内容的后面,这样一来,在解析JavaScript代码之前,页面的内容将完全呈现在浏览器中,带来更好的用户体验。也可以给script标签(只适用于外部文件)设置defer属性(带有defer属性的script标签会被立即下载,但延迟到整个页面都解析完毕后再执行。理论上在DOMContentloaded事件前),或设置async属性(设置async属性的目的在于不让页面等待脚本的下载和执行,从而异步地加载页面其他内容,为此建议异步脚本不要在加载期间修改DOM。一定在onload之前,但不确定在DOMContentloaded事件前)传统的做法是把所有外部文件(CSS文件和JavaScript文