最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

原生js實現(xiàn)復(fù)制對象、擴展對象 類似jquery中的extend()方法

 更新時間:2014年08月30日 16:11:44   作者:PHPVAR  
jq的extend()方法能很方便的實現(xiàn)擴展對象方法,這里要實現(xiàn)的是:原生js實現(xiàn)復(fù)制對象,擴展對象,類似jq中的extend()方法,需要的朋友可以參考下

jq的extend()方法能很方便的實現(xiàn)擴展對象方法,語法如下:$.extend(obj1,boj2,obj3);

現(xiàn)在要實現(xiàn)的是:原生js實現(xiàn)復(fù)制對象,擴展對象,類似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)目標:

復(fù)制o1對象,把 o2,o3的對象屬性和方法都擴展進前面復(fù)制得到的對象中并輸出。

<script>
var o1={hello:1,old:555},
o2 = {
abc: 55555555,
hello: 2,
fun: function() {
alert(111);
}
},
o3={third:9999};
function cloneObj(oldObj) { //復(fù)制對象方法
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]); //調(diào)用復(fù)制對象方法
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>

相關(guān)文章

  • 詳細解析let和const命令

    詳細解析let和const命令

    這篇文章主要介紹了詳細解析let和const命令,let和const是es6中新增的命令,一般let用來聲明變量而const則用來聲明常量,更多相關(guān)內(nèi)容感興趣的小伙伴可以參考一下
    2022-06-06
  • 一文看懂如何簡單實現(xiàn)節(jié)流函數(shù)和防抖函數(shù)

    一文看懂如何簡單實現(xiàn)節(jié)流函數(shù)和防抖函數(shù)

    這篇文章主要給大家介紹了如何通過一文看懂簡單實現(xiàn)節(jié)流函數(shù)和防抖函數(shù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • KnockoutJS 3.X API 第四章之表單value綁定

    KnockoutJS 3.X API 第四章之表單value綁定

    Knockout是一個以數(shù)據(jù)模型(data model)為基礎(chǔ)的能夠幫助你創(chuàng)建富文本,響應(yīng)顯示和編輯用戶界面的JavaScript類庫。這篇文章主要介紹了KnockoutJS 3.X API 第四章之表單value綁定的相關(guān)資料,需要的朋友可以參考下
    2016-10-10
  • javascript 模擬坦克大戰(zhàn)游戲(html5版)附源碼下載

    javascript 模擬坦克大戰(zhàn)游戲(html5版)附源碼下載

    這篇文章主要介紹了javascript 模擬坦克大戰(zhàn)游戲關(guān)鍵點和遇到的問題及實現(xiàn)代碼,需要的朋友可以參考下
    2014-04-04
  • JavaScript繼承定義與用法實踐分析

    JavaScript繼承定義與用法實踐分析

    這篇文章主要介紹了JavaScript繼承定義與用法,結(jié)合實例形式分析了JavaScript面向?qū)ο蟪绦蛟O(shè)計中基類的定義、原型繼承以及調(diào)用父類構(gòu)造函數(shù)等相關(guān)操作技巧,需要的朋友可以參考下
    2018-05-05
  • 詳解Typescript 內(nèi)置的模塊導(dǎo)入兼容方式

    詳解Typescript 內(nèi)置的模塊導(dǎo)入兼容方式

    這篇文章主要介紹了詳解Typescript 內(nèi)置的模塊導(dǎo)入兼容方式,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • 最新評論

    祁门县| 涪陵区| 龙井市| 吕梁市| 西乌| 乌鲁木齐市| 汝州市| 鲜城| 宁河县| 大悟县| 荥阳市| 南城县| 高雄市| 商河县| 汝南县| 山东省| 新晃| 治多县| 东乡族自治县| 理塘县| 巴彦县| 西乌珠穆沁旗| 射阳县| 彰化市| 保德县| 电白县| 墨脱县| 鄂托克旗| 汽车| 哈密市| 鲁山县| 临海市| 成武县| 池州市| 寻乌县| 镇远县| 丰顺县| 弥渡县| 汾西县| 错那县| 和硕县|