JavaScript中,arguments对象是比较特别的一个对象,实际上是当前函数的一个内置属性。也就是说所有函数都内置了一个arguments对象,arguments对象中存储了传递的所有的实参。arguments是一个伪数组,因此及可以进行遍历
<script>
function testArg(a,b){
//console.log(a,b);
//console.log(arguments);//伪数组
for(var i=0;i<arguments.length;i++){
console.log(arguments[i]);
}
}
testArg(10,20,30,40,50,60);
</script>
求参数任意个数的和
<script>
function calSum(){
var sum = 0;
for(var i=0;i<arguments.length;i++){
sum += arguments[i];
}
return sum;
}
var sum = calSum(1,2,34,56,7,8,19);
console.log(sum);
</script>
求斐波那契数列Fibonacci中的第n个数是多少? 1 1 2 3 5 8 13 21 …..
<script>
function feibona(n){
var result = 0;
if(n==0){
result = 1;
}
else if(n==1){
result = 1;
}
else if(n>=2){
result = feibona(n-1)+feibona(n-2);
}
return result;
}
var r = feibona(5);
console.log(r);
</script>
翻转数组,形成一个新的数组
<script>
function reverseArr(a){
for(var i=0;i<parseInt(a.length/2);i++){
var tmp = a[i];
a[i] = a[a.length-1-i];
a[a.length-1-i] = tmp;
}
}
var a = [1,2,3,4,5];
reverseArr(a);
console.log(a);
</script>