- 获取参数的个数:
使用arguments
对象可以获取到函数的实参;
arguments
对象表示函数实参的集合,仅仅能够在函数内访问;
arguments
对象是一个伪数组,但是不能够直接使用数组的方法。可以使用下标或者里边的每一个值,可以通过length
获取长度;
arguments.length
就是实参的个数。
- 获取形参的个数:
直接使用函数对象的length
属性,就可以获取到函数的形参个数
- callee属性:
callee
属性是arguments
对象的属性,它是引用当前arguments
对象所在的函数,使用该属性,可以调用自身函数。
示例
//-----示例一
function fn1(a,b,c) {
//获取实参的个数
console.log(arguments.length);//4
}
fn1(1,2,3,4);
//-----示例二
//输入一组数字,求平均值的函数
function fn2() {
//先获取到所有的实参 使用arguments
var sum = 0;
for (var i = 0; i < arguments.length; i++) {
sum += arguments[i];
}
return sum / arguments.length;
}
console.log(fn2(12, 34, 54, 32, 100, 98, 45, 34, 12));
//-----示例三
// 直接使用函数对象的length属性,就可以获取到函数的形参个数
function fn3(a,b,c) {
console.log(fn3.length);//3
}
f3(1,2,3,4,5,6);
//-----示例四
var a = 0;
(function (){
a++;
alert(1);
if (a > 1){
return;
}
//自己调用自己,弹了两次1
arguments.callee();
})();
网友评论