选择Canvas还是SVG
Canvas提供的绘图能力更底层, 适合做到像素级的图形处理,能动态渲染和绘制大数据量的图形. 而SVG抽象层次更新, 声明描述式的接口功能更丰富, 内置了大量的图形, 滤镜和动画等, 方便进行文档元素的维护, 也能导出为文件脱离浏览器环境使用
性能差异
- Canvas的性能受画布尺寸影响更大
- 适合小画布,大量数据(元素个数多)的渲染
- 热力图, 大数据量的散点图
- SVG的性能受图形元素个数影响更大
- 适合大画布, 数据量小的(元素个数小)的渲染
- 画布非常大, 有缩放,平移等高频的交互, 或者移动端对内存占用量非常敏感等场景
常见正则表达式
-
\d: 表示一个十进制的数字[0-9]
-
\D: 表示非数字
-
\w: 表示一个字[0-9a-zA-Z]
-
\W:表示除[0-9a-zA-Z_]之外的字符
-
\s: 表示一个空白字符(空格, tab, 换页符等)
-
\S: 表示一个非空白字符