javascript Arguments对象之length、callee属性
2014-07-21 14:13
435 查看
1、length属性,我们可以利用Arguments对象的length属性来获取实际传递进的参数有几个。
function a(x, y, z) {
//arguments.callee指向函数a(),arguments.callee.length==a.length;
alert(arguments.callee.length);
//输出5
alert(arguments.length);
if (arguments.callee.length != arguments.length) {
//判断形参与实参个数是否相等,不相等则不执行
return false;
}
alert("执行");
};
a(1,2,3,4,5);
2、callee属性,Arguments对象的callee属性,指向当前调用的函数,可以利用它来进行函数自身的重载。在闭包中应用的也比较广泛。
var i = 0;
function b(num) {
if (num < 10) {
num++;
i++;
//如果有参数,callee也要把参数带上;
arguments.callee(num);
} else {
//输出2次
alert("调用了"+i+"次callee!");
}
}
b(8);
Arguments.callee在闭包中的应用,它提供了一种递归调调用的功能。
//用arguments.callee计算10的阶乘,例如: 1×2×3×4×5×6×7....
function c(x) {
return x > 1 ? x * arguments.callee(x - 1) : 1
} (10);
//输出6
alert(c(3));
//输出3628800
alert(c(10));
function a(x, y, z) {
//arguments.callee指向函数a(),arguments.callee.length==a.length;
alert(arguments.callee.length);
//输出5
alert(arguments.length);
if (arguments.callee.length != arguments.length) {
//判断形参与实参个数是否相等,不相等则不执行
return false;
}
alert("执行");
};
a(1,2,3,4,5);
2、callee属性,Arguments对象的callee属性,指向当前调用的函数,可以利用它来进行函数自身的重载。在闭包中应用的也比较广泛。
var i = 0;
function b(num) {
if (num < 10) {
num++;
i++;
//如果有参数,callee也要把参数带上;
arguments.callee(num);
} else {
//输出2次
alert("调用了"+i+"次callee!");
}
}
b(8);
Arguments.callee在闭包中的应用,它提供了一种递归调调用的功能。
//用arguments.callee计算10的阶乘,例如: 1×2×3×4×5×6×7....
function c(x) {
return x > 1 ? x * arguments.callee(x - 1) : 1
} (10);
//输出6
alert(c(3));
//输出3628800
alert(c(10));
相关文章推荐
- arguments 对象的 callee 属性
- javascript的函数arguments属性和callee调用递归
- js的arguments,callee,caller,length,prototype属性
- 在JavaScript中,arguments是对象的一个特殊属性。
- arguments对象的callee属性
- Javascript中函数名.length属性用法分析(对比arguments.length)
- 转对象(含length属性)成数组Array.prototype.slice.call(arguments)
- arguments对象的callee属性详解
- javascript基本属性arguments和Arguments对象
- javascript Function对象的length属性及js函数的预执行
- javascript 中 arguments.callee属性
- js函数的实参对象arguments 和其2个属性callee、caller
- JavaScript函数之实际参数对象(arguments) / callee属性 / caller属性 / 递归调用 / 获取函数名称的方法
- 【JS--基础--函数】--隐含参数对象arguments的callee 属性
- javascript关于arguments.callee.length和arguments.length
- JavaScript 对象属性作实参以及实参对象的callee属性
- 认识JavaScript数组对象的length属性
- JavaScript[对象.属性]集锦
- JavaScript[对象.属性]集锦
- JavaScript[对象.属性]集锦