Movatterモバイル変換


[0]ホーム

URL:


  1. Tecnologia Web para desenvolvedores
  2. JavaScript
  3. Referência JavaScript
  4. Objetos Globais
  5. Function
  6. Function.caller

Esta página foi traduzida do inglês pela comunidade.Saiba mais e junte-se à comunidade MDN Web Docs.

View in EnglishAlways switch to English

Function.caller

Não padrão: Este recurso não é padronizado. Não recomendamos o uso de recursos não padronizados em produção, pois eles têm suporte limitado nos navegadores e podem mudar ou ser removidos. No entanto, podem ser uma alternativa viável em casos específicos onde não exista uma opção padrão.

A propriedadefunction.caller retorna a função que invocou a função especificada.

Descrição

Se a funçãof foi invocada pelo codigo mais alto nível, o valor def.caller énull, caso contrario, o valor será a função a qual invocouf.

Esta propriedade substitui a propriedade obsoletaarguments.caller do objetoarguments.

A propriedade especial__caller__, a qual retornou o objeto de ativação do chamador, permitindo assin reconstruir o stack, foi removido por motivo de segurança.

Notas

Note que no caso de recurção, você não pode reconstruir o stack de chamadas usando esta propriedade. Considere:

js
function f(n) {  g(n - 1);}function g(n) {  if (n > 0) {    f(n);  } else {    stop();  }}f(2);

No momento em questop() é chamado o stack será:

js
f(2) -> g(1) -> f(1) -> g(0) -> stop()

O seguinte é true:

js
stop.caller === g && f.caller === g && g.caller === f;

então se você tentou recuperar o stack trace na funçãostop() assim:

js
var f = stop;var stack = "Stack trace:";while (f) {  stack += "\n" + f.name;  f = f.caller;}

o loop nunca irá parar.

Exemplos

Verificando o valor da propriedadecaller de uma função

O código a seguir verifica o valor da propriedadecaller de uma função.

js
function myFunc() {  if (myFunc.caller == null) {    return "The function was called from the top!";  } else {    return "This function's caller was " + myFunc.caller;  }}

Especificações

Não faz parte de nenhuma especificação. Implementado no JavaScript 1.5.

Compatibilidade com navegadores

Ver também

Help improve MDN

Learn how to contribute

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp