js中函数不分参数,有无参数调用的都是同一个函数,如果有两个参数test.length就等于2,test[0]就等于参数1,test[1]就等于参数2,document.M定义的是test[1],当然取的也是第二个函数参数

解决方案 »

  1.   

    首先你要明白:var test = t.arguments; 这句代码是什么意思,arguments是JS中的一个内置对象,它有一个length属性,但它不是数组,返回的是一个object对象。理解了这个属性后,下句代码就好理解了,test[0]、test[1]分别表示了两个参数的值,即值1,值2。下标从0开始。document.M=test[1];这句代码表示:将值2赋给了变量M,最后一句代码是直接弹出变量M即值2的内容。
      

  2.   

    简单的说,用t(a,b)调用的也是t(),此时,test[0]=a;test[1]=b
    document.M相当于定义了一个document的变量M
      

  3.   

    t.arguments 是一个数组 javasrcipt里的函数参数是不定参数 
    例如:函数申明:
    function t() 

    var test=t.arguments; 
    alert(test[0]+"|"+test[1]);//这两句是什么意思以前没遇见过 
    document.M=test[1]; 
    } 调用可以写成t(1,2) 这是test[0]为1,test[1])为2
    document.M=test[1]; 就是把test[1]贼给了 document.M;
      

  4.   

    不好意思 修正一下: t.arguments 的类数组对象 但它不是数组, 类型是object
      

  5.   


    首先你要明白:var test = t.arguments; 这句代码是什么意思,arguments是JS中的一个内置对象,它有一个length属性,但它不是数组,返回的是一个object对象。理解了这个属性后,下句代码就好理解了,test[0]、test[1]分别表示了两个参数的值,即值1,值2。下标从0开始。document.M=test[1];这句代码表示:将值2赋给了变量M,最后一句代码是直接弹出变量M即值2的内容。
      

  6.   

    alert(document.M);//这直接访问了哪个变量M的值这是什么用法请指点下(是不是有点象JSP中隐藏对象session.setAttribute()的用法啊)差点被雷到了。。