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

Comment passer un objet en js

(*-*)浩
(*-*)浩original
2019-05-18 17:39:533555parcourir

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

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

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!

Déclaration:
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
Article précédent:Comment effacer tr dans jsArticle suivant:Comment effacer tr dans js