JavaScript中,arguments对象是比较特别的一个对象,实际上是当前函数的一个内置属性。也就是说所有函数都内置了一个arguments对象,arguments对象中存储了传递的所有的实参。arguments是一个伪数组,因此及可以进行遍历

  1. <script>
  2. function testArg(a,b){
  3. //console.log(a,b);
  4. //console.log(arguments);//伪数组
  5. for(var i=0;i<arguments.length;i++){
  6. console.log(arguments[i]);
  7. }
  8. }
  9. testArg(10,20,30,40,50,60);
  10. </script>

image.png

求参数任意个数的和

  1. <script>
  2. function calSum(){
  3. var sum = 0;
  4. for(var i=0;i<arguments.length;i++){
  5. sum += arguments[i];
  6. }
  7. return sum;
  8. }
  9. var sum = calSum(1,2,34,56,7,8,19);
  10. console.log(sum);
  11. </script>

image.png

求斐波那契数列Fibonacci中的第n个数是多少? 1 1 2 3 5 8 13 21 …..

  1. <script>
  2. function feibona(n){
  3. var result = 0;
  4. if(n==0){
  5. result = 1;
  6. }
  7. else if(n==1){
  8. result = 1;
  9. }
  10. else if(n>=2){
  11. result = feibona(n-1)+feibona(n-2);
  12. }
  13. return result;
  14. }
  15. var r = feibona(5);
  16. console.log(r);
  17. </script>

image.png

翻转数组,形成一个新的数组

  1. <script>
  2. function reverseArr(a){
  3. for(var i=0;i<parseInt(a.length/2);i++){
  4. var tmp = a[i];
  5. a[i] = a[a.length-1-i];
  6. a[a.length-1-i] = tmp;
  7. }
  8. }
  9. var a = [1,2,3,4,5];
  10. reverseArr(a);
  11. console.log(a);
  12. </script>

image.png