Maison >interface Web >js tutoriel >JavaScript transmet-il les variables par référence ou par valeur ?
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"
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; }
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"
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!