正则篇
常用正则字符 | 释义 |
---|---|
. | 表示除\n外任意单个字符 |
* | 表示前面字符出现次数为零或多次 |
+ | 表示前面字符出现次数为一或多次 |
? | 表示前面字符出现次数为零或一次 |
{} | 表示前面字符出现次数范围,如{3} {3,} {3,5} |
[] | 表示字符集,匹配任意一个字符,如[0-9] [a-z] |
() | 分组整体化匹配 |
^ | 从开头开始匹配 |
$ | 从结尾开始匹配 |
| | 表示或,如(z|f)ood |
[^] | 表示非,匹配字符集以外的字符 |
\d | 匹配数字,等价于[0-9] |
\D | 匹配非数字,等价于[^0-9] |
\w | 匹配数字字母下划线,等价于[0-9a-zA-Z_] |
\s | 匹配空格字符 |
\S | 匹配非空格字符 |
\n | 匹配换行符 |
[\u4e00-\u9fa5] | 表示汉字集 |
正则实例的方法
- test() 接受一个字符串参数,匹配成功返回true,失败返回false
- exec() 接受一个字符串参数,匹配成功返回包含第一个匹配项信息的特殊数组(包含index和input属性),失败返回null
此外字符串的实例方法match()、search()、replace()、split()也都支持正则参数
数组篇
常用实例方法 | 释义 |
---|---|
unshift() | 从头插入 |
push() | 从尾插入 |
shift() | 从头删除 |
pop() | 从尾删除 |
reverse() | 翻转数组 |
sort() | 默认调用每一项的toStrong()方法按照字符串比较排序,可接受一个比较函数为参数,函数带两个参数,返回负数代表第一个参数在前,返回0代表两个参数相等,返回正数代表第二个参数在前 |
concat() | 根据数组所有项创建新数组。传入的参数会逐个添加到新数组末尾,参数类型若为数组也会逐项添加至新数组末尾。无参数可用作拷贝数组。 |
slice() | 根据数组的一个或多个项创建新数组。接受一或两个参数,为起止下标(不包括截止) |
多能的splice()
功能 | 用法 |
---|---|
删除 | 指定两个参数:起始下标和要删除的下标,如splice(0,2)删除前两项 |
插入 | 指定三个或三个以上参数:起始下标、要删除的项数(0)和要插入的项(一个或多个) |
替换 | 指定三个或三个以上参数:起始下标、要删除的项数和要换入的项(一个或多个) |
position篇
- static 默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)
- absolute 绝对定位。生成绝对定位的元素,相对于 static 定位以外的第一个父元素进行定位。元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。
- relative 相对定位。生成相对定位的元素,相对于其正常位置进行定位。因此,"left:20" 会向元素的 LEFT 位置添加 20 像素。
- fixed 固定定位。生成固定定位的元素,相对于浏览器窗口进行定位。元素的位置通过 "left", "top", "right" 以及 "bottom" 属性进行规定。
- sticky 粘性定位。该定位基于用户滚动的位置。它的行为就像 position:relative; 而当页面滚动超出目标区域时,它的表现就像 position:fixed;,它会固定在目标位置。注意: Internet Explorer, Edge 15 及更早 IE 版本不支持 sticky 定位。 Safari 需要使用 -webkit- prefix 。
- inherit 规定应该从父元素继承 position 属性的值。
渲染性能篇
- 在Blink和webkit的浏览器中,具有3D或透视变换(perspective transform)的css属性的元素,浏览器为其创建单独的图层。
- left和top修改元素的位置会触发重布局,translate则不会。
- 尽管translate3d或者translateZ(0)可以触发3D硬件加速,使用时也要节制。
- 解决浏览器渲染性能问题时,首要目标是有避免重绘和重排。
网络外延篇
- HTTP2
- 所有http请求都是建立在TCP请求上,实现多路复用
- 可以给请求添加优先级
- 服务器主动推送 server push
- HTTP2的头部会减小,从而减少流量传输
- Hybrid APP即混合APP(半原生半Web,只有少数UI和Web View,访问的内容是Web)
- 优点:成本低、更新快、兼容性好、代码移植性好
- 缺点:性能不够好、体验不够流畅,Web技术在APP中操作有限,需要APP同步支持。
网友评论