欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

神奇的arguments

程序员文章站 2022-06-01 21:02:44
...

话不多说,直接上实例:

 

arguments.length 实参个数

arguments.callee.length 形参数个数

如何把一个数组的每一个元素当成函数的各个参数

fn.apply(null, array);

function func( a, b, c, d, e ){
    console.log( "real params length : " + arguments.length);
    console.log( "expected params length : " + arguments.callee.length );
    for(var i=0, il=arguments.length; i<il; i++){
       console.log(  "params[" + i  + "]  = " + arguments[i] );
    }
}

var arr = [ 1, 2, 3, 4 ];
func.apply( null, arr );

func();
 
看结果:
LOG: real params length : 4 
LOG: expected params length : 5 
LOG: params[0]  = 1 
LOG: params[1]  = 2 
LOG: params[2]  = 3 
LOG: params[3]  = 4 
LOG: real params length : 0 
LOG: expected params length : 5 
 
arguments不是数组,但参数可以通过数组的形式传进来.

func.apply的第一个参数(null)不可以少哦

author: mooring