/* 1. `arguments` 动态参数
是函数内部内置的伪数组变量,它包含了调用函数时传入的所有实参。
2. ... 剩余参数
当传参至少是两个的时候, ... 获取到的参数,是没人管的参数
1. 获取到一个真数组,有pop 等数组本身的方法,arguments 是伪数组没有这个方法
*/
动态参数
function fn1(){
console.log(arguments)//获取到的是一个伪数组,并且是动态的
// 利用for循环遍历接收到的所有参数的和
let sum = 0
for(let i=0;i<arguments.length;i++){
sum+=arguments[i]
}
console.log(sum)
}
fn1(1,2,3)
fn1(1,2,3,4,5)
剩余参数
// 剩余参数 ... 是剩余参数的符号 arr 是变量名 自己随便起
function fn2(...arr){
console.log(arr)
}
fn2(1,2,3) //[1,2,3]
// 当参数至少要有两个及以上时
function fn3(num, ...arr){
console.log(arr)
}
fn3(1,2,3) //[2,3]
数组展开符
/* 1. 剩余参数只用于函数里面 列: function fn1(...arr){}
2. 展开运算符 ... 只用于数组里面
1.展开数组元素
2.找到数组中最大值,最小值
3.合并数组
*/
let arr1 = [1,2,3]
console.log(...arr1); // 1 ,2 ,3
// 最大值 Math.max(1,2,3) 小括号里面只能放字符串,不能放变量
console.log(Math.max(...arr1)) //3
console.log(Math.min(...arr1)) //1
// 合并数组
let arr2 = [4,5,6]
let arr3 = [...arr1,...arr2]
console.log(arr3) //(6) [1, 2, 3, 4, 5, 6]