js学习笔记及常见错误处理 长期阶段性更新(一)

1.键盘事件监听

//监听函数
quitListener() {
    document.onkeydown = e => {
        let e1 = e || event || window.event || arguments.callee.caller.arguments[0]
        if (e1 && e1.keyCode == 81) {
            // 取消监听
            document.onkeydown = null
            handlefunc()   
        }
    }
}
//页面加载时
mounted() {
    this.quitListener()
}

2.去除输入的特殊符号

regStr(str) {
    const pattern=/[`~!@#$^\-&*()=|{}':;',\\\[\]\.<>\/?~!@#¥……&*()——|{}【】';:""'。,、?\s]/g
    return str.replace(pattern,"")
}

3.js深拷贝

function deepCopy(data) {
    if (data && typeof data === 'object') {
        if (typeof data === 'function') {
            let tempFunc = data.bind(null)
            tempFunc.prototype = deepCopy(data.prototype)
            return tempFunc        
        }
        
    }
}

4.去除字符串里的html标签

// [^n]匹配任何一个除^范围内的字符
str.replace(/<[^>]+>/g, '')
// ?匹配0或1个 .匹配换行符之外所有字符 g全局模式应用所有字符串
str.replace(/<\/?.+?>/g, "").replace(/ /g, "")

5.字符串“数组”互转

// str -> arr
str.split('分割字符')
// arr -> str // 默认为','去连接
arr.join('分割字符') 

6.时间戳转换字符串(处理视频时长)

const formatTime = (ms:number):string => {
  let min:number = Math.floor(ms / 1000 / 60)
  let sec:number = Math.floor(ms / 1000 - min * 60)
  let minStr:string = ''
  let secStr:string = ''
  if (min < 10) {
    minStr = '0' + min
  } else {
    minStr = min + ''
  }
  if (sec < 10) {
    secStr = '0' + sec
  } else {
    secStr = sec + ''
  }
  return (minStr + ':' + secStr)
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值