<script>
//ES5的arguments类数组对象
//arguments是函数内部的一个类数组对象,当函数调用的时候,系统会将所有传入的实参,依次存入这个数组对象。
//arguments.length返回实参个数
//arguments[i]用来输出每个实参的值
function sum(){
//1.输出由实参组成的类数组arguments
console.log(arguments);
//2.遍历实参数组,输出每个实参的值
for(let i=0;i<arguments.length;i++){
console.log(arguments[i]);
}
//3.遍历实参数组,执行相应运算
let sum=0;
for(let k in arguments){
sum=sum+arguments[k];
}
return sum;
//4.输出实参个数,即arguments实参数组长度
// return arguments.length;
}
console.log(sum(1,2,3));
console.log(sum(1,2,3,4,5,6));
//es6的rest用法:样式形如:...xxx,用于替代arguments
//其中xxx为一个纯数组,可用forEach遍历
function cheng(...args){
//5.输出args
console.log(args);
//6.输出args.length
console.log(args.length);
//7.遍历实参,输出每个实参的值
// for(let m of args){
// console.log(m);
// }
args.forEach(function(m){
console.log(m);
});
//8.遍历实参,执行相应运算
let cheng=1;
for(let val of args){
cheng=cheng*val;
}
return cheng;
}
console.log(cheng(1,2));
console.log(cheng(1,2,3,4));
</script>