首页 /  技术专区  /  JavaScript 宽屏模式 >

JavaScript 函数参数进阶(动态参数、剩余参数)、展开运算符

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 剩余参数

剩余参数:函数参数使用,得到真数组

展开运算符:数组中使用,数组展开





头像
0/200
图片验证码