Maison > interface Web > js tutoriel > JavaScript transmet-il les variables par référence ou par valeur ?

JavaScript transmet-il les variables par référence ou par valeur ?

Barbara Streisand
Libérer: 2024-12-13 15:12:12
original
698 Les gens l'ont consulté

Does JavaScript Pass Variables by Reference or by Value?

Passer des variables par référence en JavaScript

Lors de l'exécution de plusieurs opérations sur des variables dans une boucle, il est crucial de comprendre comment JavaScript gère le passage des variables. JavaScript, contrairement à de nombreux autres langages de programmation, ne prend pas en charge le passage par référence. Cependant, référencer des objets permet de modifier leur contenu au sein de fonctions.

function alterObject(obj) {
  obj.foo = "goodbye";
}

var myObj = { foo: "hello world" };

alterObject(myObj);

alert(myObj.foo); // "goodbye"
Copier après la connexion

Itérer sur des tableaux est également possible, permettant la modification de chaque cellule.

var arr = [1, 2, 3];

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

C'est à noter ce véritable passage par référence implique la possibilité de modifier les valeurs dans le contexte d'appel, ce que JavaScript ne prend pas en charge.

function swap(a, b) {
  var tmp = a;
  a = b;
  b = tmp;
}

var x = 1, y = 2;
swap(x, y);

alert("x is " + x + ", y is " + y); // "x is 1, y is 2"
Copier après la connexion

Contrairement à C , qui permet un véritable passage par référence, JavaScript ne prend en charge que la transmission de références à des objets. La modification du contenu des objets au sein des fonctions est possible, mais les références elles-mêmes ne peuvent pas être modifiées.

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