function how()
{
    alert(arguments.length);}how("string",34);
how();
how(12);请问how()函数没有参数,how("string",34)要怎么调用啊。。为什么还能够调用。arguments到底是个什么用法?

解决方案 »

  1.   

    <script>
    function how()
    {
      alert(arguments[i]);//i是参数的索引,从0开始
    }how("string", 34);
    </script>
      

  2.   

    arguments是函数的特殊对象,它用来存放当前函数传递的参数,你可以像数组一样使用,但是它不是数组对象。
    arguments.length就是参数长度,arguments[index]用来访问第index个参数。
    js中的函数可以传递任意多个参数,例如虽然how()定义时没有参数,调用时传递了参数,也是照样可以运行的。那么这个时候的参数可以用arguments来访问。
      

  3.   

    方法里面的arguments就是你后面调用所传进来的"string",34,12或者空值.
    arguments.length只不过判断你传了几个进来.
      

  4.   

    跟C#,C++等语言不同的是,函数的签名(参数) 可以不写出来
    直接用arguments来调用传过来的参数。之前我也对一个问题一直疑问过:
    http://hi.baidu.com/jiang_yy_jiang/blog/item/abfa720e3a6ea0e037d12234.html
      

  5.   

    arguments.length是实际传入的参数
    arguments.collee是函数定义时的参数个数
      

  6.   

    取下标即可
    arguments[0],arguments[1]
      

  7.   

    (function(){
     for(var i=0;i<arguments.length;i++)
    {
      str+=arguments[i];
       alert(str);
    }
    })(1,2,3,4,5);
      

  8.   

    arguments是参数对象。
    js function声明的时候可以不写参数,调用的时候只要传了参数,这些参数都可以在arguments中取出来。
    就是一参数数组。
      

  9.   

    很多编程语言都有这个概念的,也叫实参和形参!实参长度在JS里就是指arguments.length而形参长度用函数名.length或arguments.callee.length来表示,后者用法比较怪异,它表示对函数对象本身的引用,常用于匿名函数的递归和封装!可以说这个用法是JS的一个特点!但是这个概念绝对不是只有JS才有,任何编程语言都有!大家都有五官的特征,无非JS的五官比较另类比较酷!