DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> 關於JavaScript >> 原生js實現復制對象、擴展對象 類似jquery中的extend()方法
原生js實現復制對象、擴展對象 類似jquery中的extend()方法
編輯:關於JavaScript     

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>
XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved