【JS】不定参数函数的两种形式--及arguments使用注意

不定参函数

1)不定参函数

类型一.定义时的参数数量 大于 调用时的参数数量(!应避免使用)

//定义
function sum(_num1,_num2){//code}
//调用
sum(10)

类型二.定义时的参数数量 小于 调用时的参数数量

//定义
function sum(_num1){//code}
//调用
sum(10,20)

类型一.定义时的参数数量 大于 调用时的参数数量 (!应避免使用)
   说明:
       这种写法是应该被规避掉的不建议写法,具有隐患
       如果一定有必要书写,则必须在函数中对参数进行初始化操作。
   例子:
  function sum(_num1, _num2){
      // 参数初始化
      _num1 = _num1==undefined ? 0 : _num1;
      _num2 = _num2==undefined ? 0 : _num2;
      // 
      console.log(_num1+_num2);
  }
  sum(10);
类型二.定义时的参数数量 小于 调用时的参数数量
   说明:
       这种写法是JavaScript中函数的正常应用之一
       ⭐利用了JavaScript在函数中提供了一个内置对象arguments
       用来包括函数调用时的所有真实参数
       arguments不是真数组

例子:

 function sum(_num1){
     // console.log(arguments);
     var total = 0;
     for(let i=0; i<arguments.length; i++){
         total += arguments[i];
     }
     console.log(total);
 }
 sum(10, 20, 30, 40, 50, 60, 70);

arguments使用注意

  • 在函数中 arguments 是用于存放函数 的真实传入当然参数
  • !!是一个伪数组形式 , 可以使用length 读长度
  • !!但是不可以直接使用 Array的方法
    • 可以使用 … 扩展运算符 转换
    • 亦或者 [].slice.call(arguments)Array.prototype.slice.call(arguments)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值