js中的一些函数
1、document.querySelector('css选择器')
这个函数可以获取html的dom元素,通过css中的选择器来得到。vue中可以使用ref标签替代这个函数来获取网页中元素。
2、push()函数
数组名.push(),往数组的后面添加一个元素。数组名.unshift(),往数组的前面添加一个元素
3、innerHTML
dom.innerHTML,可以操作选中dom元素中的html元素,比如替换dom元素里面的内容。vue中可以使用v-html指令替代。element-plus插件中的图标替换不了,替换会出现图标为空。
4、Math.floor()
返回小于或等于一个给定数字的最大整数,相下取整。与其相对的是 Math.ceil() ,这个是向上取整。
5、Date.parse()
函数用于分析一个包含日期的字符串,并返回该日期与 1970 年 1 月 1 日午夜之间相差的毫秒数。可以与new Date()函数合用生成一个时间戳。
timestamp: Date.parse(new Date()) / 1000
6、...
扩展运算符,可以将花括号、大括号去掉,暴露里面的数据。
7、toString()
转换数据类型为字符串类型
8、padStart(targetLength, padString)和padEnd(targetLength, padString)
字符串填充,一个是在字符串前面填充,一个在字符串后面填充。有两个参数,第一个是填充后字符串的长度,第二个是用来填充的字符串。
9、数组名.map()
map()方法定义在JavaScript的Array中,它返回一个新的数组,新返回数组中的每个元素为原始数组的每一个元素分别调用map中的回调函数处理后的值。
10、数组名.filter() 数组名.find()
filter() 方法用于把Array中的某些元素过滤掉,然后返回剩下的未被过滤掉的元素(返回的还是一个数组)。
find()方法返回第一个符合条件的数组成员。它的参数是一个回调函数,所有数组成员依次执行该回调函数,直到找出第一个返回值为true的成员,然后返回该成员。如果没有符合条件的成员,则返回undefined。
上面两种都是关于数组的操作,filter返回值是一个数组,find返回值是一个数组中的元素。两者都有回调函数,当过滤或查询条件比较苛刻时可以使用回调函数。
11、Object.assign(target,source)
主要用于对象合并,将源对象中的属性复制到目标对象中,他将返回目标对象。target为目标对象,source为源对象。如果两个对象中没有同名属性就进行合并,如果有同名属性那么值为后面源对象中的值。
12、数组名.splice(index,len,item)
删除或更换数组中指定索引的元素,第一个参数是起始索引,第二个参数是选中多少个元素,第三个参数是替换的元素。带两个参数是删除,三个参数是替换。
13、setInterval
setInterval是一个实现定时调用的函数,可按照指定的周期(以毫秒计,1秒等于1000毫秒)来调用函数或计算表达式。setInterval方法会不停地调用函数,直到 clearInterval被调用或窗口被关闭。可以用来做定时器,vue中也有封装好的定时器setTimeout。
定时器的一个使用案例如下
const timer = setInterval(async()=>{ await checkCode(myMusic.key).then(res=>{ myMusic.checkedId = res.data.code myMusic.cookie = res.data.cookie }) if(myMusic.checkedId === 800){ await getCodeKey().then(res=>{ myMusic.key = res.data.data.unikey }) await getCode({ key:myMusic.key, qrimg:true }).then(res=>{ myMusic.codeUrl = res.data.data.qrimg }) }else if(myMusic.checkedId === 803){ musicStore.updateLoginState({cookie:myMusic.cookie}) musicStore.updateLoginState({state:true}) router.push("/toMyMusicPage") clearInterval(timer) } },1000)