【发布时间】:2012-08-31 14:59:06
【问题描述】:
可能重复:
Why was the arguments.callee.caller property deprecated in JavaScript?
在 ES5 严格模式下(即"use strict"),引用当前函数的arguments.callee 变量不再可用。
对于递归函数,使用函数自己的名称显然是明智的。但是有时我可能想使用arguments.callee 的属性(即.length、.prototype)而不必使用当前函数的名称。
谁能解释(据称)通过删除它解决了什么明显的问题?
【问题讨论】:
-
不好的做法,差不多。
arguments.callee的所有情况要么可以用更优雅的方式解决,要么不应该解决。 -
至于边缘情况:这就是我不再使用严格模式的部分原因......:P
-
@close voters - 这个问题是关于
arguments.callee的特定子属性。 -
@Alnitak:“意外”的答案在很大程度上是关于
.callee。