// 总结:1- 函数内部有一个实参 arguments 可以获取所有的实参。
//2- arguments是一个伪数组,如果要使用数组的方法, 将它转为真数组
// 3-arguments 是一个属性,callee指向函数本身的,arguments.callee输出函数本身,如下
// 4-arguments只能在函数内部被访问.
// 5-arguments和函数的形参是对应的。可以在内部修改值 可以直接修改或者通过下标来修改
function sum(num1,num2){ console.log(arguments); //输出 Arguments的属性 console.log(arguments.callee); //输出函数本身 如下 } sum(1,2);
// 利用arguments.leength求出所有实参的和 function he(){ var len=arguments.length; var result=0; for(var i=0;i<len;i++){ result+=arguments[i] } return result; } console.log( he(1,2,3,4,566,-111)); //465 //对于求和,先定义一个初始值,然后累计相加
// 2.arguments有什么用? 模拟重载的。可以通过arguments参数不同,来做不同的事情
// 重载: js中没有重载。
// js中,如果声明的函数是重名的,那么后面的函数会把前面的函数给覆盖了。
// 重载:其他语言中,允许函数重名,根据参数的不同(个数、类型、顺序)从而来区分到底调用的是那一个
function test(){ if(arguments.length == 2){ //执行这个代码1。做相加 }else if(arguments.length == 3){ //执行这个代码2。做相减 }else { //执行这个代码3。 } } test(10,20); //执行这个代码1。相加 test(10,20,30); //执行这个代码3。//相减