`
mooring
  • 浏览: 96470 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

神奇的arguments

阅读更多

话不多说,直接上实例:

 

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
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics