arguments的使用:只有函数才有arguments对象,而且是每个函数都内置好了这个arguments
function fn(){
//console.log(arguments);//里面存储了所有传递过来的实参 arguments={1,2,3}
//console.log(arguments.length);
//console.log(arguments{2]);
//我们可以按照数组的方式遍历arguments
for (vari=0;i<arguments.length;i++){
console.log(arguments{i}0;
}
}
fn(1,2,3);
fn(1,2,3,4,5);
//伪数组并不是真正意义上的数组
//1.具有数组的length属性
//2.按照索引的方式进行存储的
//3.它没有真正数组的一些方法pop() push()等等
当我们不确定有多少个参数传递的时候,可以用arguments来获取,在JavaScript来获取,在JavaScript中,arguments实际上它是当前参数的一个内置对象。所有函数都内置了一个arguments对象,arguments对象中存储了传递的所有实参
//利用函数求任意个数的最大值
function getMax(){//arguments={1,2,3}
var max=arguments{0};
for(var i=1;i<arguments.length;i++){
if(arguments{i}>max){
max=arguments{i};
}
}
return max;
}
console.log(getMax(1,2,3));
console.log(getMax(1,2,3,4,5));
console.log(getMax(11,2,34,444,5,100));
//利用函数翻转任意数组reverse翻转
function reserve(arr){
var newArr={};
for(var i=arr.length-1;i>=0;i--){
newArr{newArr.length}=arr{i};
}
return newArr;
}
var arr1=reverse({1,2,4,6,9});
console.log(arr1);
var arr2=reverse({‘red’,‘pink’,‘blue’});
console.log(arr2);