From 844f5103992238c0c23203286dad16a466e89c97 Mon Sep 17 00:00:00 2001 From: julieng Date: Tue, 3 Aug 2021 08:03:09 +0200 Subject: move *.html to *.md --- .../global_objects/function/caller/index.html | 82 ---------------------- 1 file changed, 82 deletions(-) delete mode 100644 files/fr/web/javascript/reference/global_objects/function/caller/index.html (limited to 'files/fr/web/javascript/reference/global_objects/function/caller/index.html') diff --git a/files/fr/web/javascript/reference/global_objects/function/caller/index.html b/files/fr/web/javascript/reference/global_objects/function/caller/index.html deleted file mode 100644 index 92f4a60f1a..0000000000 --- a/files/fr/web/javascript/reference/global_objects/function/caller/index.html +++ /dev/null @@ -1,82 +0,0 @@ ---- -title: Function.caller -slug: Web/JavaScript/Reference/Global_Objects/Function/caller -tags: - - Function - - JavaScript - - Propriété - - Reference -translation_of: Web/JavaScript/Reference/Global_Objects/Function/caller -original_slug: Web/JavaScript/Reference/Objets_globaux/Function/caller ---- -
{{JSRef}} {{non-standard_header}}
- -

La propriété function.caller renvoie la fonction qui a appelé la fonction donnée. Cette propriété est interdite en mode strict.

- -

Description

- -

Si la fonction f a été invoquée par du code situé au plus haut niveau, la valeur de f.caller sera {{jsxref("null")}}, sinon, ce sera la fonction qui a appelé f.

- -

Cette propriété remplace la propriété obsolète {{jsxref("Fonctions/arguments/caller", "arguments.caller")}} de l'objet {{jsxref("Fonctions/arguments", "arguments")}}.

- -

La propriété spéciale __caller__ qui renvoyait l'objet qui dans lequel était fait l'appel a été supprimée pour des raisons de sécurités.

- -

Notes

- -

Dans une fonction récursive, cette propriété ne peut pas être utilisée pour reconstituer la pile d'appels (call stack). Par exemple, si on a :

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

Au moment où stop() est appelé, la pile sera :

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

Et ceci est vrai :

- -
stop.caller === g && f.caller === g && g.caller === f
-
- -

Donc si on essaie d'obtenir la pile de cette façon :

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

la boucle ne s'arrêterait jamais.

- -

Exemples

- -

Vérifier la valeur de la propriété caller

- -

Dans l'exemple suivant, on verifie la propriété caller de la fonction.

- -
function maFonction() {
-  if (maFonction.caller == null) {
-    return 'Fonction appelée au plus haut niveau !';
-  } else {
-    return 'Fonction appelée par ' + maFonction.caller;
-  }
-}
-
- -

Spécifications

- -

Ne fait partie d'aucune spécification. Implémentée avec JavaScript 1.5.

- -

Compatibilité des navigateurs

- -

{{Compat("javascript.builtins.Function.caller")}}

- -

Voir aussi

- - -- cgit v1.2.3-54-g00ecf