arguments : 存储了函数接收的所有参数, 是一个伪数组类型, 就是像数组, 有数组的下标, 但没有数组的方法
适用场景 : 函数参数个数不固定的需求, 可实现 函数的重载 功能
//根据函数参数, 求参数和的方法 sum()
let sum = function () {
console.log(arguments);
let sum = 0;
for (let i = 0; i < arguments.length; i++) {
sum += arguments[i];
}
console.log('参数个数:', arguments.length);
console.log('参数之和:', sum);
};
sum(1);//参数个数: 1 参数和: 1
sum(1, 2);//参数个数: 2 参数和: 3
sum(1, 2, 3);//参数个数: 3 参数和: 6
控制台内容 :
函数的重载 : 函数根据 参数数量 和 类型 的不同, 在函数内容实现不同逻辑的代码
函数重载简单案例 : 根据参数数量, 实现不同功能
//函数重载的方法
let sum = function () {
let sum = 0;
if (arguments.length === 0) {
for (let i = 0; i < 10; i++) {
sum += i;
}
console.log(`1-10的和:`, sum);
}
if (arguments.length === 1) {
for (let i = 0; i < arguments[0]; i++) {
sum += i;
}
console.log(`1-100的和:`, sum);
}
if (arguments.length === 2) {
for (let i = arguments[0]; i < arguments[1]; i++) {
sum += i;
}
console.log(`100-200的和:`, sum);
}
}
sum(); //累加 1-10 的总和
sum(100); //累加出 1-100 的总和
sum(100, 200); //累加出 100-200 的总和