当前位置: 移动技术网 > IT编程>开发语言>JavaScript > 原生js实现复制对象、扩展对象 类似jquery中的extend()方法教程

原生js实现复制对象、扩展对象 类似jquery中的extend()方法教程

2019年03月26日  | 移动技术网IT编程  | 我要评论
jq的extend()方法能很方便的实现扩展对象方法,语法如下:$.extend(obj1,boj2,obj3); 现在要实现的是:原生js实现复制对象,扩展对象,类似jq中的e

jq的extend()方法能很方便的实现扩展对象方法,语法如下:$.extend(obj1,boj2,obj3);

现在要实现的是:原生js实现复制对象,扩展对象,类似jq中的extend()方法,具体实例如下:
现有3个对象字面量:

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

实现目标:

复制o1对象,把 o2,o3的对象属性和方法都扩展进前面复制得到的对象中并输出。

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

如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网