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)
View Code

 

posted @ 2023-10-08 15:03  数星观月  阅读(8)  评论(0编辑  收藏  举报