js的语法不支持重载!--arguments

来源:互联网 发布:p5.min.js在哪里下载 编辑:程序博客网 时间:2024/05/08 19:24
重载(overload): 相同函数名,不同参数列表的多个函数
                可在调用时,根据传入参数的不同
                自动选择对应的函数执行!
    为什么: 减轻调用者的负担!
    问题: js的语法不支持重载!
js不允许多个同名函数同时存在。
       如果同时存在,最后定义的函数会覆盖之前所有同名函数
    解决: arguments对象
      什么是arguments: 函数中,专门接收所有传入的参数值的对象。
arguments是类数组对象: 长的像数组的对象
  只有两点和数组相同:
1. 都可用下标访问每个元素
   比如: 获得第二个参数值: arguments[1]
2. 都有length属性记录参数个数:
   比如: arguments.length
          强调: 类数组对象不是数组,
几乎所有数组API,都不能调用!

      何时创建: 在调用函数时,自动创建的函数局部变量!


eg:

<script>
function add(/*n个加数*/){
//遍历arguments中每个元素,同时声明sum=0;
for(var i=0,sum=0;i<arguments.length;i++){
//将当前元素的值累加到sum上
sum+=arguments[i];
//遍历结束
}//返回sum
return sum;
}


//测试
console.log(add(3,5,8));//16
console.log(add(12,14,16,18));//60
console.log(add(1,2,3,4,5));//15
</script>

0 0
原创粉丝点击