话不多说,直接上实例:
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
tracker: http://mooring.iteye.com
372

被折叠的 条评论
为什么被折叠?



