Maison >interface Web >js tutoriel >Les fonctions JavaScript peuvent-elles récupérer le nom de variable d'origine des arguments transmis ?

Les fonctions JavaScript peuvent-elles récupérer le nom de variable d'origine des arguments transmis ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-03 18:08:291036parcourir

Can JavaScript Functions Retrieve the Original Variable Name of Passed Arguments?

Détermination du nom d'origine de la variable dans les fonctions

En JavaScript, il peut sembler intuitif de récupérer le nom d'origine d'une variable passée à une fonction. Cependant, ce concept pose des défis importants en raison de la nature de la portée des variables et du passage de valeurs.

Transmission de valeurs dans les fonctions

Lorsqu'une variable est transmise à une fonction, elle est la valeur qui est transférée, pas la variable elle-même. Cela signifie que la fonction n'a accès qu'à la valeur, tandis que le nom de la variable d'origine est perdu dans le processus.

Exemple :

Considérez le code suivant :

function getVariableName(unknownVariable){
  return unknownVariable.originalName;
}

getVariableName(foo); //returns string "foo";
getVariableName(bar); //returns string "bar";

Dans cet exemple, la fonction getVariableName tente de récupérer le nom d'origine de la variable qui lui est transmise. Cependant, comme le nom de la variable n'est pas transmis, la fonction renvoie la variable inconnue elle-même sous forme de chaîne, qui est la même que la valeur d'origine.

Impossibilité de récupération du nom d'origine

Comme mentionné précédemment, il est essentiellement impossible de récupérer le nom de la variable d'origine de manière sensée. En effet :

  • Seules les valeurs sont transmises : Les fonctions reçoivent des copies des valeurs, pas des références aux variables d'origine.
  • Portée de la variable : Les variables sont liées à leur portée actuelle et leurs noms sont perdus lorsqu'elles quittent cette portée. Passer une valeur à une fonction crée une nouvelle portée, l'isolant de la portée de la variable d'origine.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn