JS 部分
-
Array 的操作
pop()/push() :删除最后一个元素 / 末尾处开始添加元素
shift() / unshift() : 删除数组的第一个元素 / 开头处添加元素
concat(array1,array2):连接两个或多个数组 ,返回副本 不改变原数组
slice(start ,end) / splice(index,number,item1,item2) : 返回一个子数组 ,不改变原数组 / index位置删除number个元素,并添加item1 ,item2…
sort(function(a,b){return a-b }): sort 里面需要传入一个function ,a-b <0 ,a在b前 ,默认按字符编码比较(冒泡)VUE中监控Array的变化,需要使用set(ArrayName,index,value) ,才可以检测到数据变化array[index]=value ,无法被监控到。
-
原始数据类型 :nnussb
Null:Object Number:number Undefined:undefined String:string Symbol:symbol(es 6+) Boolean:booleanes6+ :let s = Symbol() :可以产生独一无二的值 , const a= { [s] : xxx } ,symbol 作为属性的时候,必须用【symbol】
function* gen(){ yield: 'hello' yield:'world' return 'end' } const gen = gen() gen.next()
-
正则表达式
/cat/.test(‘old dog’) 匹配cat 字符
/c.a/.test('old cat ') . 匹配任意一个字符 cba , cda ,OK
/^c/.test(‘cat’) ^匹配开始
/t$/.test(‘cat’) $匹配结束
/cat|dog/.test(‘cat or dog’) | 选择符,匹配或者 cat or dog
[a-z] 匹配a-z的所有字符
[^xyz] 匹配除xyz的字符
预定义模式:
\d [0-9]
\D [^0-9]
\w [a-zA-Z0-9_]
\W [^a-zA-Z0-9_]
{n} 刚好重复n次 ? – {0,1}
{n,} 至少重复n次 * – {0,}
{n,m} 重复次数在 n,m之间 + – {1,}
修饰符 g全局匹配 ,匹配所有之后停止 i 忽略大小写
分组匹配 /(http|ftp) : // [\w._/+]/ (http|ftp) 分组 -
JS 任务执行顺序 :同步 --微任务 --宏任务
微任务 process.nextTick ,mutationObserve ,promise
宏任务 setTimeout setInterval setImmediate requestAnimationFrame