Esta página ha sido traducida del inglés por la comunidad.Aprende más y únete a la comunidad de MDN Web Docs.
callee
Resumen
Especifica la función que se está ejecutando actualmente.
In this article
Descripción
callee es una propiedad de la variable localarguments disponible dentro de todos los objetos function;callee como una propiedad deFunction.arguments ya no se utiliza. (Function.arguments en sí mismo está también desaconsejado.)
arguments.callee permite a funciones anónimas referirse a ellas mismas, lo cual es necesario en funciones anónimas recursivas.
La palabra clavethis no se refiere a la función que se ejecuta actualmente. Use la propiedadcallee para referirse a la función dentro del cuerpo de la función.
Ejemplos
>Ejemplo: Usandoarguments.callee en funciones anónimas recursivas
Una función recursiva debe ser capaz de referirse a sí misma. Típicamente, una función se refiere a sí misma por su nombre. Sin embargo, una función anónima no tiene nombre y por tanto es una variable de referencia para ella, es decir, si la función no está asignada a ninguna variable, la función no puede referirse a sí misma. (Se pueden crear funciones anónimas mediante una expresiónfunction o el constructorFunction.) Aquí es donde entraarguments.callee.
El siguiente ejemplo define una función, la cuál, en cada turno, define y devuelve una función factorial.
function makeFactorialFunc() { alert("making a factorial function!"); return function (x) { if (x <= 1) return 1; return x * arguments.callee(x - 1); };}var result = makeFactorialFunc()(5); // returns 120 (5 * 4 * 3 * 2 * 1)this example isn't very practical, but then again, there are few practical cases where arguments.callee is necessary, and most of the those cases involve closures