Maison > interface Web > js tutoriel > le corps du texte

Comment copier un objet en js ? (Tutoriel image et texte)

亚连
Libérer: 2018-05-18 16:21:30
original
1667 Les gens l'ont consulté

Voici comment copier un objet en js. Les étudiants intéressés peuvent y jeter un œil.

Méthode 1 :

Parcourez les propriétés de l'objet d'origine et attribuez-les à un nouvel objet.

//深复制对象方法    
var cloneObj = function (obj) {  
    var newObj = {};  
    if (obj instanceof Array) {  
        newObj = [];  
    }  
    for (var key in obj) {  
        var val = obj[key];  
        //newObj[key] = typeof val === 'object' ? arguments.callee(val) : val; //arguments.callee 在哪一个函数中运行,它就代表哪个函数, 一般用在匿名函数中。  
        newObj[key] = typeof val === 'object' ? cloneObj(val): val;  
    }  
    return newObj;  
};  
//测试    
var obj = {a:function(){console.log(this.b.c)},b:{c:1}},//设置一个对象  
newObj = cloneObj(obj);//复制对象  
newObj.b.c=2;//给新对象赋新值  
obj.a();//1,不受影响  
newObj.a();//2
Copier après la connexion

Méthode 2 :

Sérialisez l'objet, puis analysez-le à nouveau. S'il y a une fonction dans l'objet, elle ne peut pas être copiée correctement

var obj = {a:1,b:2}  
var newObj = JSON.parse(JSON.stringify(obj));  
newObj.a=3;  
console.log(obj);  
console.log(newObj);
Copier après la connexion

Méthode 3 :

Pour la méthode de l'objet tableau, utilisez la méthode tableau pour concaténer un tableau vide

var a=[1,2,3];  
var b=a;  
var c=[].concat(a);  
a.push(4);  
console.log(b);  
console.log(c);
Copier après la connexion

Ce qui précède est ce que j'ai compilé pour tout le monde, j'espère que cela sera utile. tout le monde dans le futur.

Articles connexes :

JS conserve deux décimales pour saisir le code de vérification du numéro

JS conserve un chiffre et le déplace en arrière Sauf si le numéro

Résumé de la méthode d'actualisation de la page JS

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:
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