JavaScript中arguments.callee的作用与替换方案是什么?
- 内容介绍
- 文章标签
- 相关推荐
本文共计916个文字,预计阅读时间需要4分钟。
`arguments.callee的作用 + 在函数内部,有两个特殊的对象: + arguments + 和 this。其中,+ arguments的主要用途是保存函数参数,+ 但这个对象还有一个名为callee的属性,+ 该属性是一个指向拥有这个属性的函数的指针。`
arguments.callee的作用
在函数内部,有两个特殊的对象:arguments和 this。其中,arguments的主要用途是保存函数参数, 但这个对象还有一个名叫callee的属性,该属性是一个指针,指向拥有这个arguments对象的函数。 请看下面这个非常经典的阶乘函数
function factorial(num){ if (num <=1) { return 1; } else { return num * factorial(num-1) } }
定义阶乘函数一般都要用到递归算法;如上面的代码所示,在函数有名字,而且名字以后也不会变 的情况下,这样定义没有问题。但问题是这个函数的执行与函数名factorial紧紧耦合在了一起。
本文共计916个文字,预计阅读时间需要4分钟。
`arguments.callee的作用 + 在函数内部,有两个特殊的对象: + arguments + 和 this。其中,+ arguments的主要用途是保存函数参数,+ 但这个对象还有一个名为callee的属性,+ 该属性是一个指向拥有这个属性的函数的指针。`
arguments.callee的作用
在函数内部,有两个特殊的对象:arguments和 this。其中,arguments的主要用途是保存函数参数, 但这个对象还有一个名叫callee的属性,该属性是一个指针,指向拥有这个arguments对象的函数。 请看下面这个非常经典的阶乘函数
function factorial(num){ if (num <=1) { return 1; } else { return num * factorial(num-1) } }
定义阶乘函数一般都要用到递归算法;如上面的代码所示,在函数有名字,而且名字以后也不会变 的情况下,这样定义没有问题。但问题是这个函数的执行与函数名factorial紧紧耦合在了一起。

