arguments 是存储保存实际参数的对象 ,arguments放在函数里 就会保存外部传进来的参数 ,组成数组对象,保存多少? 是由外部传进来多少就保存多少

案列1

  1. var suzu
  2. function fun(a, b) {
  3. //a,b 参数
  4. //arguments 保存实际参数
  5. console.log(arguments);
  6. suzu=arguments
  7. console.log(a);
  8. console.log(b);
  9. }
  10. //调用实际参数, 优先将值赋值给前面的参数,// 没有的赋值undefined
  11. fun(10,20,30)
  12. console.log(suzu);

image.png

案列2:

  1. var suzu
  2. function fun(a,b){
  3. for(var i=0;i<arguments.length;i++){
  4. console.log(arguments[i]);
  5. }
  6. }
  7. fun(10,20,30,40)
  8. //此验证说明 arguments 是存储数组的对象(外部传进来的参数)

image.png

案列3:

  1. function add() {
  2. if (arguments.length == 2) {
  3. return arguments[0] + arguments[1];
  4. }
  5. if (arguments.length == 3) {
  6. return arguments[0] + arguments[1] + arguments[2];
  7. }
  8. }
  9. console.log(add(1, 2, 3));

image.png