原生js實(shí)現(xiàn)復(fù)制對(duì)象、擴(kuò)展對(duì)象 類似jquery中的extend()方法
jq的extend()方法能很方便的實(shí)現(xiàn)擴(kuò)展對(duì)象方法,語(yǔ)法如下:$.extend(obj1,boj2,obj3);
現(xiàn)在要實(shí)現(xiàn)的是:原生js實(shí)現(xiàn)復(fù)制對(duì)象,擴(kuò)展對(duì)象,類似jq中的extend()方法,具體實(shí)例如下:
現(xiàn)有3個(gè)對(duì)象字面量:
var o1={hello:1,old:555}, o2 = { abc: 55555555, hello: 2, fun: function() { alert(111); } }, o3={third:9999};
實(shí)現(xiàn)目標(biāo):
復(fù)制o1對(duì)象,把 o2,o3的對(duì)象屬性和方法都擴(kuò)展進(jìn)前面復(fù)制得到的對(duì)象中并輸出。
<script> var o1={hello:1,old:555}, o2 = { abc: 55555555, hello: 2, fun: function() { alert(111); } }, o3={third:9999}; function cloneObj(oldObj) { //復(fù)制對(duì)象方法 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() { //擴(kuò)展對(duì)象 var args = arguments; if (args.length < 2) return; var temp = cloneObj(args[0]); //調(diào)用復(fù)制對(duì)象方法 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>
- 淺談jQuery中的$.extend方法來(lái)擴(kuò)展JSON對(duì)象
- 基于jQuery的一個(gè)擴(kuò)展form序列化到j(luò)son對(duì)象
- 模仿JQuery.extend函數(shù)擴(kuò)展自己對(duì)象的js代碼
- 擴(kuò)展jQuery對(duì)象時(shí)如何擴(kuò)展成員變量具體怎么實(shí)現(xiàn)
- JQuery 動(dòng)態(tài)擴(kuò)展對(duì)象之另類視角
- jQuery.extend()、jQuery.fn.extend()擴(kuò)展方法示例詳解
- Jquery 的擴(kuò)展方法總結(jié)
- Jquery中擴(kuò)展方法extend使用技巧
- 修改或擴(kuò)展jQuery原生方法的代碼實(shí)例
- JavaScript自執(zhí)行函數(shù)和jQuery擴(kuò)展方法詳解
- JQuery擴(kuò)展對(duì)象方法操作示例
相關(guān)文章
JavaScript實(shí)現(xiàn)簡(jiǎn)單拖拽效果
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)簡(jiǎn)單拖拽效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09bootstrap側(cè)邊欄圓點(diǎn)導(dǎo)航
這篇文章主要為大家詳細(xì)介紹了bootstrap側(cè)邊欄圓點(diǎn)導(dǎo)航效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-01-01High Performance JavaScript(高性能JavaScript)讀書筆記分析
High Performance JavaScript(高性能JavaScript)讀書筆記,讓你的js代碼更有效率。2011-05-05JS實(shí)現(xiàn)控制表格單元格垂直對(duì)齊的方法
這篇文章主要介紹了JS實(shí)現(xiàn)控制表格單元格垂直對(duì)齊的方法,涉及javascript操作表單元素樣式的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03使用 JavaScript 進(jìn)行函數(shù)式編程 (一) 翻譯
本文是函數(shù)式編程系列的第一篇文章。這里我會(huì)簡(jiǎn)要介紹一下編程范式,然后會(huì)直接介紹使用 Javascript 進(jìn)行函數(shù)式編程的概念,因?yàn)?JavsScript 是最被認(rèn)可的函數(shù)式程序語(yǔ)言之一。我們鼓勵(lì)讀者通過(guò)參考資料部分進(jìn)一步了解這一迷人的概念2015-10-10js使用Array.prototype.sort()對(duì)數(shù)組對(duì)象排序的方法
這篇文章主要介紹了js使用Array.prototype.sort()對(duì)數(shù)組對(duì)象排序的方法,實(shí)例分析了Array.prototype.sort()的原理與相關(guān)的使用技巧,需要的朋友可以參考下2015-01-01微信小程序?qū)崿F(xiàn)簡(jiǎn)易table表格
這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)簡(jiǎn)易table表格,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-02-02