前言
一、画布
1.canvas
描述:用脚本绘制图形。
二、SVG
1.SVG
描述:在浏览器中创建图形。
优势:在放大或改变尺寸的情况下其图形质量不会有损失。
实践:各种图标库如iconfont。
2.面试题
问题1:Canvas与SVG的区别?
Canvas
- 依赖分辨率
- 不支持事件处理器
- 弱的文本渲染能力
- 能够以
.png或.jpg格式保存结果图像 - 最适合图像密集型的游戏,其中的许多对象会被频繁重绘
SVG
- 不依赖分辨率
- 支持事件处理器
- 最适合带有大型渲染区域的应用程序(比如谷歌地图)
- 复杂度高会减慢渲染速度(任何过度使用
DOM的应用都不快) - 不适合游戏应用
三、媒介播放
1.video
2.audio
实践:各种音/视频网站如哔哩哔哩。
四、本地存储
描述:通过本地存储(Local Storage),web 应用程序能够在用户浏览器中对数据进行本地的存储。
优势:优于 cookies。本地存储则更安全,并且可在不影响网站性能的前提下将大量数据存储于本地。
1.localStorage
描述:localStorage 对象存储的是没有截止日期的数据。当浏览器被关闭时数据不会被删除,在下一天、周或年中,都是可用的。
2.sessionStorage
描述:如果用户关闭具体的浏览器标签页,数据也会被删除。
3.面试题
TODO问题1:localStorage、sessionStorage与cookie的区别?
五、地理定位
1.Geolocation
描述:用于获得用户的地理位置。鉴于该特性可能侵犯用户的隐私,除非用户同意,否则用户位置信息是不可用的。
六、内容元素
1.article
2.footer
3.header
4.nav
5.section
七、表单元素
1.calendar
2.date
3.time
4.email
5.url
5.search
八、拖放属性
1.drag
描述:抓取某物并拖入不同的位置,通过把 draggable 属性设置为 true。任何元素都是可拖放的。
实践:问就是各种低代码平台......
八、应用程序缓存
TODO待完善......