JS面试准备

JS 部分


  1. 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 ,无法被监控到。

  2. 原始数据类型 :nnussb
    Null:Object Number:number Undefined:undefined String:string Symbol:symbol(es 6+) Boolean:boolean

    es6+ :let s = Symbol() :可以产生独一无二的值 , const a= { [s] : xxx } ,symbol 作为属性的时候,必须用【symbol】

    function*  gen(){
    	yield: 'hello'
    	yield:'world'
    	return 'end'
    }
    const  gen =  gen()  
    gen.next()
    
  3. 正则表达式

    /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) 分组

  4. JS 任务执行顺序 :同步 --微任务 --宏任务

    微任务 process.nextTick ,mutationObserve ,promise
    宏任务 setTimeout setInterval setImmediate requestAnimationFrame

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值