Maison > interface Web > js tutoriel > Comment passer un objet en js

Comment passer un objet en js

(*-*)浩
Libérer: 2019-05-24 14:39:31
original
3608 Les gens l'ont consulté

Hauteur mentionnée : 'Les paramètres de toutes les fonctions dans ECMAScript sont transmis par valeur'.

C'est comme copier une valeur d'une variable à une autre.

Comment passer un objet en js

Alors la valeur du type référence est également la même que celle du type de base ?

Exemple 1 :

var person  = {
    name : "leaf"
};
function obj(o){
    o.name = "kafu";
   return o;
}
var result = obj(person);
console.log(result.name);// kafu
console.log(person.name);// kafu
Copier après la connexion

Pourquoi apparaît-il que les paramètres de type référence sont passés par référence ?

Exemple 2 :

var person = {
    name : "leaf"
};
function obj(o){
    o = {
       name : "kafu"
    };
    return o;
}
var result = obj(person);
console.log(result.name);// kafu
console.log(person.name);// leaf
Copier après la connexion

Différence :

Dans l'exemple 1, person est passé à obj() En fait. , C'est-à-dire copier la référence de l'objet personne et la transmettre à o (peut être considéré comme une adresse Person et o pointent vers le même objet en même temps. Modifier les attributs dans o modifie en fait l'attribut name du). objet qu’ils désignent conjointement. Parce qu'il n'y a qu'un seul objet dans la zone mémoire à ce moment-là.

Deux exemples. L'adresse o pointe vers un autre objet nouvellement créé. À l'heure actuelle, il y a deux objets dans la mémoire. Toute modification apportée au nouvel objet pointé par o n'aura aucun impact sur l'ancien objet pointé. à par personne de.

Pourquoi dit-on que « les paramètres de toutes les fonctions dans ECMAScript sont transmis par valeur ».

Je ne parlerai pas des types de base.

Pour les types référence, le passage des paramètres est une copie de référence de l'objet. Cela équivaut à transmettre une nouvelle adresse après une copie. Cette adresse de copie peut en fait être comprise comme un passage par valeur (également appelé passage partagé).

Utiliser des objets à passer en paramètres

Lorsque vous passez des objets en paramètres, vous n'avez pas besoin de considérer l'ordre des paramètres, ce qui est très utile.

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!

Étiquettes associées:
js
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal