"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Passer des valeurs et des comportements de référence des objets et des types de base dans les appels de fonction JavaScript

Passer des valeurs et des comportements de référence des objets et des types de base dans les appels de fonction JavaScript

Publié le 2025-05-02
Parcourir:822

Pass-by-Reference vs. Pass-by-Value in JavaScript: How Do Objects and Primitives Behave in Function Calls?

javascript pass-by référence vs pass-by value

javascript utilise à la fois des mécanismes pass-by-valeur et pass-by-référence. Les primitives, telles que les nombres et les chaînes, sont transmises par valeur, ce qui signifie qu'une copie de la primitive est créée dans la fonction appelée. En revanche, les non-promitatifs, principalement des objets, sont passés par référence.

Dans le cas des objets, une référence à l'objet est transmise plutôt que par une copie. Cela signifie que la modification de la variable de référence dans la fonction appelée n'affectera pas la référence dans l'appelant, comme démontré dans l'exemple fourni:

var a = { key: 'value' };
replace(a); // a still holds its original value
update(a); // a's contents change

Confusion avec la fonction rectangulaire

L'exemple de la question inclut un rectangle de fonction imbriqué avec le paramètre mon. Ce paramètre est initialement non défini, mais est défini dans la fonction. La raison de cette configuration est de fournir un moyen de partager des données entre la fonction rectangulaire et sa fonction de zone intérieure.

Bien que le paramètre My ne soit pas initialement défini dans la fonction Rectangle, c'est une référence d'objet transmise par référence. En tant que tel, lorsqu'il est attribué dans la fonction Rectangle, il crée une nouvelle référence à un objet qui peut être modifié à la fois dans le rectangle et les fonctions de zone, même si la fonction de zone ne reçoit pas directement le paramètre.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3