一、
arguments:读取函数运行时的所有参数 通过类似于数组访问下标的方式 console.log(arguments[0],'<--->',arguments[1]); arguments.length:获取函数运行时参数的数量 arguments可以修改该参数的值 arguments可以删除参数的值 arguments可以新增参数的值 arguments只能在函数内部使用 类数组:①具有数组的特征 ②具有长度 ③可以使用下标访问数据 ④不能使用数组中的方法
例子: var arr = [1,2,3]; arr.slice(1); function getValue(a,b){ arguments[0] = 22; arguments[2] = 100; console.log(Array.isArray(arguments)); console.log(arguments[0],'<--->',arguments[1]); console.log(arguments.length); console.log(a+b+arguments[2]); } function getSum(){ console.log(arguments[0]+arguments[1]); } getValue(20,30); getSum(10,20);
二、模拟重载
js没有重载的概念,当js出现同名函数,最后一个生效
题目:
function getSum(a, b) { console.log(a + b); } function getSum(a, b, c) { console.log(a + b + c); } function getSum() { console.log('呵呵'); } getSum(10,20,30);
for in 遍历:
function getSum(){ var sum = 0; if(arguments.length<=1){ alert('小伙 不要找事儿'); }else{ for(var i = 0;i<arguments.length;i++){ sum+=arguments[i]; } console.log(sum); } } getSum(10,2,1,2,2,3);//10000