zoukankan      html  css  js  c++  java
  • js arguments

    js进行函数调用时,除了指定的参数外,还创建一个隐含的对象——arguments。

    一、arguments可以用arguments[index]这样的语法取值,拥有长度属性length。arguments对象存储的是实际传递给函数的参数,而不局限于函数声明所定义的参数列表,例如:

      <script>
      function func(a,b){
      alert(a);
      alert(b);
      for(var i=0;i<arguments.length;i++){
          alert(arguments[i]);
      }
      }
     func(1,2,3,4);
      </script>

    代码运行时会依次显示:1,2,1,2,3,4。函数定义了两个参数,但是在调用的时候传递了4个参数。

     

    二、arguments的callee属性

    它表示对函数对象本身的引用,这有利于实现无名函数的递归或者保证函数的封装性。例如:用递归来计算1到n的自然数之和:

    <script>
       var sum=function(n){
        if(1==n) {
           return 1;
        } else {
           return n + arguments.callee(n-1);
         }
      }
      alert(sum(100));
    </script>

  • 相关阅读:
    119. Pascal's Triangle II
    118. Pascal's Triangle
    112. Path Sum
    111. Minimum Depth of Binary Tree
    110. Balanced Binary Tree
    108. Convert Sorted Array to Binary Search Tree
    88. Merge Sorted Array
    83. Remove Duplicates from Sorted List
    70. Climbing Stairs
    陌陌面试经历
  • 原文地址:https://www.cnblogs.com/Harry369/p/3335003.html
Copyright © 2011-2022 走看看