ES5 "strict" and arguments.callee



可能重复:
为什么arguments.callee.caller属性在JavaScript中被弃用?

在ES5严格模式(即"use strict")中,引用当前函数的arguments.callee变量不再可用。

对于递归函数,使用函数自己的名称显然是明智的。然而,有时我可能希望使用arguments.callee(即.length.prototype)的属性,而不必使用当前函数的名称。

有人能解释一下(据称)通过移除它解决了什么明显的问题吗?

从这里开始。

arguments.callee实质上阻碍了像内联这样的优化函数,因为必须能够提供未内联的函数if arguments.callee被访问。

最新更新