Maison  >  Article  >  interface Web  >  Native js réalise la copie d'objets et l'extension d'objets, similaire à la méthode extend() dans les compétences jquery_javascript

Native js réalise la copie d'objets et l'extension d'objets, similaire à la méthode extend() dans les compétences jquery_javascript

WBOY
WBOYoriginal
2016-05-16 16:38:271177parcourir

La méthode extend() de jq peut facilement implémenter des méthodes d'objet étendues. La syntaxe est la suivante : $.extend(obj1,boj2,obj3);

Ce qui doit être implémenté maintenant est : natif js implémente la copie d'objets et l'extension d'objets, similaire à la méthode extend() dans jq. Les exemples spécifiques sont les suivants :
. Il existe actuellement 3 littéraux d'objet :

var o1={hello:1,old:555},
o2 = {
abc: 55555555,
hello: 2,
fun: function() {
alert(111);
}
},
o3={third:9999};

Objectif atteint :

Copiez l'objet o1, étendez les propriétés et les méthodes de l'objet o2 et o3 dans l'objet précédemment copié et affichez-le.

<script>
var o1={hello:1,old:555},
o2 = {
abc: 55555555,
hello: 2,
fun: function() {
alert(111);
}
},
o3={third:9999};
function cloneObj(oldObj) { //复制对象方法
if (typeof(oldObj) != 'object') return oldObj;
if (oldObj == null) return oldObj;
var newObj = new Object();
for (var i in oldObj)
newObj[i] = cloneObj(oldObj[i]);
return newObj;
};
function extendObj() { //扩展对象
var args = arguments;
if (args.length < 2) return;
var temp = cloneObj(args[0]); //调用复制对象方法
for (var n = 1; n < args.length; n++) {
for (var i in args[n]) {
temp[i] = args[n][i];
}
}
return temp;
}
var t=extendObj(o1,o2,o3);
console.log(t);
console.log(o1);
console.log(o2);
console.log(o3);
</script>
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