原生js實現(xiàn)復制對象、擴展對象 類似jquery中的extend()方法
更新時間:2014年08月30日 16:11:44 作者:PHPVAR
jq的extend()方法能很方便的實現(xiàn)擴展對象方法,這里要實現(xiàn)的是:原生js實現(xiàn)復制對象,擴展對象,類似jq中的extend()方法,需要的朋友可以參考下
jq的extend()方法能很方便的實現(xiàn)擴展對象方法,語法如下:$.extend(obj1,boj2,obj3);
現(xiàn)在要實現(xiàn)的是:原生js實現(xiàn)復制對象,擴展對象,類似jq中的extend()方法,具體實例如下:
現(xiàn)有3個對象字面量:
var o1={hello:1,old:555}, o2 = { abc: 55555555, hello: 2, fun: function() { alert(111); } }, o3={third:9999};
實現(xiàn)目標:
復制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>
您可能感興趣的文章:
相關文章
High Performance JavaScript(高性能JavaScript)讀書筆記分析
High Performance JavaScript(高性能JavaScript)讀書筆記,讓你的js代碼更有效率。2011-05-05使用 JavaScript 進行函數(shù)式編程 (一) 翻譯
本文是函數(shù)式編程系列的第一篇文章。這里我會簡要介紹一下編程范式,然后會直接介紹使用 Javascript 進行函數(shù)式編程的概念,因為 JavsScript 是最被認可的函數(shù)式程序語言之一。我們鼓勵讀者通過參考資料部分進一步了解這一迷人的概念2015-10-10js使用Array.prototype.sort()對數(shù)組對象排序的方法
這篇文章主要介紹了js使用Array.prototype.sort()對數(shù)組對象排序的方法,實例分析了Array.prototype.sort()的原理與相關的使用技巧,需要的朋友可以參考下2015-01-01