温馨提示×

arguments.callee的用法是什么

小亿
104
2023-08-02 17:58:36
栏目: 编程语言

arguments.callee是一个指向当前正在执行的函数的指针。它可以用来在一个函数内部递归调用自身,或者在匿名函数中引用函数自身。

在严格模式下,使用arguments.callee会导致错误。因此,在现代的JavaScript中,推荐使用命名函数表达式来实现递归调用,而不是依赖arguments.callee。

以下是一个使用arguments.callee的递归调用示例:

function factorial(n) {
if (n === 0) {
return 1;
} else {
return n * arguments.callee(n - 1);
}
}
console.log(factorial(5)); // 输出: 120

然而,使用命名函数表达式的示例更常见和推荐:

var factorial = function factorial(n) {
if (n === 0) {
return 1;
} else {
return n * factorial(n - 1);
}
}
console.log(factorial(5)); // 输出: 120

0