JavaScript ne fournit pas directement des méthodes de clone d'objet. Par conséquent, lorsque l'objet B est modifié dans le code suivant, l'objet A est modifié.
a = {k1: 1, k2: 2, k3: 3};
b = a;
B.K2 = 4;
Si vous voulez simplement changer B et garder une constante, vous devez copier l'objet a.
Utilisez jQuery pour copier des objets
Lorsque jQuery peut être utilisé, la propre méthode étendue de JQuery peut être utilisée pour implémenter la copie d'objets.
a = {k1: 1, k2: 2, k3: 3};
b = {};
$ .extend (b, a);
Personnalisez la méthode clone () pour implémenter la copie d'objets
La méthode suivante est l'idée de base de la copie d'objets.
Object.prototype.clone = function () {var copy = (cette instance de tableau)? []: {}; pour (atTr in This) {if (! obj.hasownproperty (att)) continue; copy [att] = (typeof this [i] == "objet")? Obj [att] .clone (): obj [att]; } return copy;}; a = {k1: 1, k2: 2, k3: 3}; b = a.clone ();Les exemples suivants sont plus complets et conviennent à la copie profonde de la plupart des objets.
Clone de fonction (obj) {// Gérez les 3 types simples, et null ou indéfini if (null == obj || "objet"! = type OBJ) return obj; // Gandage Date if (obj instanceof Date) {var copy = new Date (); copy.setTime (obj.getTime ()); retourner la copie; } // Gire Array if (obj instanceof array) {var copy = []; for (var i = 0, var len = obj.length; i <len; ++ i) {copy [i] = clone (obj [i]); } return copy; } // Gire l'objet if (obj instanceOf objet) {var copy = {}; for (var atr in obj) {if (obj.hasownproperty (attr)) copy [att] = clone (obj [att]); } return copy; } Jetez une nouvelle erreur ("Impossible de copier OBJ! Son type n'est pas pris en charge.");}La compréhension approfondie de l'article ci-dessus de la copie d'objets (clone d'objet) dans JavaScript est tout le contenu que je partage avec vous. J'espère que cela pourra vous donner une référence et j'espère que vous pourrez soutenir Wulin.com plus.