Get to know MDN better
Esta página ha sido traducida del inglés por la comunidad. Aprende más y únete a la comunidad de MDN Web Docs.
No estándar: Esta función no está estandarizada. No recomendamos usar funciones no estándar en producción, ya que tienen un soporte limitado en los navegadores y pueden cambiar o eliminarse. Sin embargo, pueden ser una alternativa adecuada en casos específicos donde no exista una opción estándar.
La propiedad function.caller retorna la función que llamó a la función especificada.
Si la función f fue llamada por desde nivel raiz (top level code), el valor de f.caller es null, de lo contrario se retorna la función que llamó a f.
Esta propiedad reemplaza a la propiedad obsoleta arguments.caller del objeto arguments.
la propiedad especial __caller__, la cual retornaba el objeto de activación del llamador y permitía reconstruir la pila de llamadas, ha sido removida por motivos de seguridad.
En caso de recursión se puede reconstruir la pila de llamada utilizando esta propiedad, tal como se muestra a continuación:
Al momento de ejecutar stop() este se llama con la siguiente pila de llamadas:
f(2) -> g(1) -> f(1) -> g(0) -> stop()Siendo verdadero la siguiente consideración:
stop.caller === g && f.caller === g && g.caller === fPor lo tanto si se intenta obtener el rastro de llamadas (stack trace) de la función stop() como se muestra a continuación:
se provocará una bucle que nunca termina.
El siguiente código verifica el valor de la propiedad caller de una función.
No es parte de ninguna especificación.
Enable JavaScript to view this browser compatibility table.
This page was last modified on 23 ene 2024 by MDN contributors.
Your blueprint for a better internet.
Visit Mozilla Corporation’s not-for-profit parent, the Mozilla Foundation.
Portions of this content are ©1998–2026 by individual mozilla.org contributors. Content available under a Creative Commons license.