Javascript arguments.callee 是干甚么用的
JavaScript中的arguments.callee
是一个指向当前正在履行的函数的援用。它通经常使用于在递归函数中援用本身。通过使用arguments.callee
,可以免在函数内部硬编码函数名,使得函数更加灵活,易于保护和复用。
以下是一个使用arguments.callee
进行递归的示例:javascript
function factorial(n) {
if (n <= 1) {
return 1;
} else {
return n * arguments.callee(n - 1);
}
}
console.log(factorial(5)); // 输出 120
在上述示例中,factorial
函数使用arguments.callee
援用本身,以便在递归调用时调用本身。这样,不管函数名产生变化,递归调用依然有效。
需要注意的是,使用arguments.callee
是一种过时的做法。在严格模式下("use strict"
),访问arguments.callee
会抛出毛病。建议使用命名函数表达式或箭头函数来代替arguments.callee
。
TOP