1. 函数参数进阶
动态参数
arguments 是函数内部内置的伪数组变量,它包含了调用函数时传入的所有实参
// 求生函数,计算所有参数的和 function sum() { // console.log(arguments) let s = 0 for(let i = 0; i < arguments.length; i++) { s += arguments[i] } console.log(s) } // 调用求和函数 sum(5, 10) // 两个参数 sum(1, 2, 4) // 两个参数
总结:
1.arguments 是一个伪数组,只存在于函数中
2.arguments 的作用是动态获取函数的实参
3.可以通过for循环依次得到传递过来的实参
剩余参数
... 是语法符号,置于最末函数形参之前,用于获取多余的实参
借助 ... 获取的剩余实参,是个真数组
function config(baseURL, ...other) { console.log(baseURL) // 得到http://baidu.com' console.log(other) // other 得到 ['get',"json'] } // 调用函数 config( 'http://baidu.com', 'get','json');
开发中,还是提倡多使用 剩余参数
2. 展开运算符
展开运算符(...),将一个数组进行展开
const arr = [1, 5, 3, 8, 2] console.log(...arr) // 1 5 3 8 2
说明:
1. 不会修改原数组
典型运用场景:
求数组最大值(最小值)
const arr = [1, 5, 3, 8, 2] // console.Log(...arr) // 1 5 3 8 2 console.log(Math.max(...arr)) // 8 console.log(Math.min(...arr)) // 1
合并数组
// 合并数组 const arr1 = [1, 2, 3] const arr2 = [4, 5, 6] const arr3 = [...arr1, ...arr2] console.log(arr3) // [1,2,3,4,5,6]
展开运算符 or 剩余参数
剩余参数:函数参数使用,得到真数组
展开运算符:数组中使用,数组展开