Canvas 和 SVG 的区别是什么?
- 思路:逐个说明,再相同点,最后不同点
- canvas 主要是用笔刷来绘制2D图形的
- svg 主要是用标签来绘制不规则的矢量图
-
相同点:都是用来画2D图形的
-
不同点:
- canvas画的是位图;svg画的是矢量图
- svg节点过多时渲染慢,canvas性能更好点,但写起来更复杂
- svg支持分层和事件,canvas不支持但可以用库实现
- 得分点:位图VS矢量图、渲染性能、是否支持分层和事件
- 坑点:主要个人能力菜,不同点第三点不建议回答,因为可能会被深入问svg具体如何分层和事件及canvas所使用的库是哪些,如何使用;面试中要求稳妥,主观觉得少说不代表坏事