前言
JS操作中打交道最多的就是函数和数组了,他们可以帮我们解决很多逻辑问题
一、函数
1.函数是什么?
简单来说,函数就是用{}将你的逻辑代码都封装在一起(包在一起),可以使那段逻辑代码反复使用,只要调用这个函数就好。
更方便的实现你想要的功能
2.函数的结构
function 函数名(形参){//参数可以有多个,函数名也可以没有
逻辑代码
//console.log(形参)----这里就会输出你传入的实际参数
return 返回值//后面有讲
}
函数名(实参)//调用----函数必须要调用,不然就不起作用哦!!
3.函数的参数
函数的参数就是将数据传出函数
- 实参-----调用函数时传入的参数
- 形参-----函数里操作的参数
- argument(可变参/不定参):
当你传了很多实参,又没有传形参时它的作用就来啦!!
arguments是函数提供的一个参数,又是一个把你所有实参包起来的伪数组,如下:
function fun(){
console.log(arguments)
}
fun('1','2','3')
所以他可以根据长度去获取每一个参数
通常被用来:多个参数求和、css函数改变样式(根据arguments的长度,判断获取样式还是设置样式)
4.函数的返回值
如果说函数的参数是将数据传出函数,那么函数的返回值正好相反,是将函数里的内容传出去
ps:在哪里调用函数,返回值就在哪
- 什么是函数返回值?
① 函数的返回值==函数的执行结果
如果是计算类的函数,结果就是计算的答案;如果是判断类的函数,结果就是true/false
② 函数的返回值只有一个,也可以没有(一个函数尽量只返回一种数据类型)
③ return false 也有强制退出函数的意思,返回值是false
二、数组
1.数组的定义
通常就这两种(效果一样):
1.let arr = [1,2,3]
2.let arr = new Array(1,2,3)
2.数组的属性
数组只有一个长度属性length(可以获取,也可以设置)
作用:
- 快速获取数组长度
- 快速清空数组
let arr = [1,2,3,4,5]
console.log(arr.length)//5
arr.length=0
console.log(arr)//[]
console.log(arr.length)//0
3.数组的方法
数组的方法有很多,也很实用,这里举几个常用的
序号 | 方法名 | 作用 | - | 序号 | 方法名 | 作用 |
---|---|---|---|---|---|---|
1 | push | 末尾添加一个元素 | 8 | sort | 数组排序 | |
2 | pop | 末尾删除一个元素 | 9 | join | 讲数组转为字符串(拼接) | |
3 | unshift | 开头添加一个元素 | 10 | concat | 合并数组(若a.concat(b)则[…a,…b]) | |
4 | shift | 夹头删除一个元素 | 11 | forEach | 循环 | |
5 | splice | 截取、删除、修改指定元素 | 12 | filter | 过滤,返回满足条件的元素组成的新数组 | |
6 | slice | 截取指定元素 | 13 | reverse | 倒序 | |
7 | every | 遍历数组如果每一项满足条件,返回true | 14 | some | 遍历数组只要有一项满足条件,返回true |
这里把几个不好理解的举一下栗子!😜
1.splice(开始下标,删除个数,添加元素)
// 当splice有两个参数时表示,从第几个元素开始,删除几个
let arr = [1,2,3,4,5]
// 如果直接输出就相当于截取,可以直接获取你选中的部分
console.log(arr.splice(1,2))//[2,3]
arr.splice(1,2)
console.log(arr)//[1,4,5]
// 当splice有两个参数时表示,从第几个元素开始,删除几个,删除的部分补充什么上去
let arr1 = [1,2,3,4,5]
arr1.splice(1,2,'hhh')
console.log(arr1)//[1,'hhh',4,5]
2.slice(开始下标,结束下标)
ps:这里的截取像是------[开始,结束)----半闭半开区间
let arr = [1,2,3,4,5]
console.log(arr.slice(1,2))//[2]
3.sort()
如果直接arr.sort(),sort是无法识别数字的,只能识别字符串类型
let arr = [26,2,5,36,93,112]
console.log(arr.sort())//[112, 2, 26, 36, 5, 93]
你可以看到排序之后的按照开头1<2<3这种大小排序,显然是把它当成字符串比较了啊
所以我们要通过计算的方式才能正确排序,一般我们这样
let arr = [26,2,5,36,93,112]
arr.sort((a,b)=>{
return a-b
//a-b从小到大排序
//b-a从大到小排序。。。。。这个我就不解释了,记结果就行了
})
console.log(arr)//[2, 5, 26, 36, 93, 112]
总结
这一期数组部分真是干货啊,数组、函数很重要哦!希望对大家有帮助!🤗