一、src 与 href 的区别

href 是 超文本引用,指向资源的位置,建立与目标文件的联系,不会阻塞dom
src 是把资源下载到页面中阻塞dom 暂停 其他资源的下载和处理,直到该资源加载,编译执行完毕,
(这就是将js 脚本放到底部的原因)

二、script 标签为什么放在底部

浏览器渲染html 是从上到下执行的,遇到js 就会去下载js 停止当前页面的渲染
若放在头部,当文件很大的情况下,会导致首屏加载时间过长,影响用户体验,
解决方法:
1、将script 标签放在body 底部
2、通过defer async属性将js 转化为异步加载

实现js文件的异步加载,不阻塞页面的渲染,
区别:
defer 必须等到文档渲染完成后执行,
async 在加载完成后会暂停html 解析,转去执行js

三、阻止事件冒泡&取消默认事件

1、阻止事件冒泡
w3c: e.stopPropagation()
ie9 以下:e.cancalBubble = true
2、取消默认行为
w3c:e.preventDeafault()
ie: e.returnValue = false
3、return false
js: 取消默认行为
jquery: 阻止冒泡 + 取消默认行为
4、vue方法(修饰符)
阻止事件冒泡 @click.stop
取消默认行为 @click.prevent

四、H5新特性

**
1、新增语义化标签:nav、header、footer、aside、section、article
2、音频、视频标签:audio、video
3、数据存储:localStorage、sessionStorage
4、canvas 画布 Geolocation 地理定位 websocket 通讯协议
5、input 标签新增属性:placeholder、autocomplete、autofocus、required,新增了多个type
6、history API:
go、forward、back、pushstate

五:CSS3新特性

1、选择器
2、背景和边框
3、文本效果
4、2D/3D 转换
5、动画、过渡
6、多列布局
7、用户界面
参考
https://www.cnblogs.com/ainyi/p/9777841.html