亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

JS對(duì)象復(fù)制(深拷貝和淺拷貝)

瀏覽:83日期:2024-03-30 17:08:46
一、淺拷貝1、Object.assign(target,source,source...)

a、可支持多個(gè)對(duì)象復(fù)制

b、如果source和target屬性相同 source會(huì)復(fù)制target的屬性

c、target只能為Object對(duì)象

var obj = {a:1,b:2}undefinedObject.assign({c:3},obj){c: 3, a: 1, b: 2}obj{a: 1, b: 2} 兼容性寫法if(Object.assign){//兼容}else{//不兼容}2、擴(kuò)展運(yùn)算符(spread)

支持將多個(gè)對(duì)象復(fù)制到一個(gè)對(duì)象上“

var obj1 = { foo: 'foo' };var obj2 = { bar: 'bar' }; var copySpread = { ...obj1, ...obj2 }; // Object {foo: 'foo', bar: 'bar'}copySpread {foo: 'foo', bar: 'bar'}var obj = {a:1,b:2,c:3}var objs = {...obj}objs{a: 1, b: 2, c: 3}objs.a=1010objs{a: 10, b: 2, c: 3}obj{a: 1, b: 2, c: 3}二、深拷貝1、使用對(duì)象序列化 JSON.stringify()和JSON.parse()

注意:此方法僅在原對(duì)象包含可序列化值類型且沒(méi)有任何循環(huán)引用時(shí)才有效。不可序列化值類型的一個(gè)例子是Date對(duì)象 -JSON.parse只能將其解析為字符串而無(wú)法解析回其原始的Date對(duì)象 或者對(duì)象中屬性值為function

var obj = {a:1,b:[1,2,3],c:{e:3},bool:false}undefinedvar objs = JSON.parse(JSON.stringify(obj))undefinedobjs{a: 1, b: Array(3), c: {…}, bool: false}objs.bool = truetrueobjs{a: 1, b: Array(3), c: {…}, bool: true}obj{a: 1, b: Array(3), c: {…}, bool: false}2、使用遞歸,對(duì)對(duì)象屬性進(jìn)行判斷

function deepClone(obj) { var copy; // 如果 obj 是 null、undefined 或 不是對(duì)象,直接返回 obj // Handle the 3 simple types, and null or undefined if (null == obj || 'object' != typeof obj) return obj; // Handle Date if (obj instanceof Date) { copy = new Date(); copy.setTime(obj.getTime()); return copy; } // Handle Array if (obj instanceof Array) { copy = []; for (var i = 0, len = obj.length; i < len; i++) {copy[i] = clone(obj[i]); } return copy; } // Handle Function if (obj instanceof Function) { copy = function() { return obj.apply(this, arguments); } return copy; } // Handle Object if (obj instanceof Object) { copy = {}; for (var attr in obj) { if (obj.hasOwnProperty(attr)) copy[attr] = clone(obj[attr]); } return copy; } throw new Error('Unable to copy obj as type isn’t supported ' + obj.constructor.name);}

以上就是JS對(duì)象復(fù)制(深拷貝和淺拷貝)的詳細(xì)內(nèi)容,更多關(guān)于JS的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 国产免费观看a大片的网站 国产免费观看网站黄页 | 亚洲国产精品成人精品软件 | 三级毛片大全 | 国产精品手机在线亚洲 | 久久成人精品 | 国产高清视频在线免费观看 | 九九在线精品视频播放 | 五月婷婷六月合 | 国产情侣一区二区 | 国产精品日韩一区二区三区 | 亚洲ab | 末成年一级在线看片 | 91久久亚洲国产成人精品性色 | 国产片自拍 | aⅴ在线免费观看 | 中文字幕亚洲国产 | 精品视频一区二区三区免费 | 亚洲性久久 | 在线观看免费视频黄 | 欧美一级黄色录像片 | 午夜精品一区二区三区免费视频 | 国产精品伦理一二三区伦理 | 深夜福利1000 | 亚洲精品小说一区二区三区 | 亚洲欧美另类视频 | 92国产视频 | 91热视频在线 | 亚洲欧美韩国日产综合在线 | 免费人成黄页在线观看视频国产 | 综合色视频 | 欧美一级特黄aaa大片 | 亚洲欧美中文在线观看4 | 深夜爽爽爽gif福利免费 | 一级片黑人 | 国精品在亚洲_欧美 | 成人黄色片在线观看 | 99久久精品国产一区二区三区 | 国产乱仑| jk足控福利国产在线播放 | 99在线精品日韩一区免费国产 | 香港性特级黄录像片 |