Maison > interface Web > js tutoriel > Comment JavaScript gère-t-il le passage de variables et la modification d'objets ?

Comment JavaScript gère-t-il le passage de variables et la modification d'objets ?

Patricia Arquette
Libérer: 2024-12-16 05:41:19
original
192 Les gens l'ont consulté

How Does JavaScript Handle Variable Passing and Object Modification?

Passer des variables par référence en JavaScript

JavaScript n'a pas le concept de "passage par référence" présent dans d'autres langages de programmation. Cependant, il permet de transmettre des objets par valeur, permettant ainsi aux fonctions de modifier leur contenu.

Passer des objets par valeur

Pour modifier le contenu d'un objet au sein d'une fonction, transmettez l'objet lui-même en paramètre :

function alterObject(obj) { obj.foo = "goodbye"; }
var myObj = { foo: "hello world" };
alterObject(myObj);
console.log(myObj.foo); // "goodbye"
Copier après la connexion

Modification Tableaux

Pour modifier les éléments d'un tableau, parcourez ses indices numériques et mettez à jour chaque cellule individuellement :

var arr = [1, 2, 3];
for (var i = 0; i < arr.length; i++) arr[i] = arr[i] + 1;
Copier après la connexion

"Pass by Reference" en JavaScript

JavaScript ne dispose pas d'une véritable fonctionnalité de "passage par référence". Cela signifie qu'il est impossible de modifier la valeur d'une variable d'origine dans un appel de fonction, contrairement à des langages comme C .

Dans l'exemple ci-dessous, l'échange des valeurs de x et y échoue car elles sont transmises par valeur et ne peuvent pas être modifié directement au sein de la fonction :

function swap(a, b) { var tmp = a; a = b; b = tmp; }
var x = 1, y = 2;
swap(x, y);
console.log("x is " + x + ", y is " + y); // "x is 1, y is 2"
Copier après la connexion

Conclusion

Bien que JavaScript ne propose pas de "pass par référence" au sens traditionnel, le passage d'objets et la manipulation de leur contenu permettent des fonctionnalités similaires. Notez que cette technique modifie le contenu de l'objet, pas la référence de l'objet elle-même.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal