老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

javascript中深拷貝與淺拷貝的區別是什么

深拷貝概念

江陵ssl適用于網站、小程序/APP、API接口等需要進行數據傳輸應用場景,ssl證書未來市場廣闊!成為成都創新互聯的ssl證書銷售渠道,可以享受市場價格4-6折優惠!如果有意向歡迎電話聯系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!

一個引用對象一般來說由兩個部分組成:一個具名的Handle,也就是我們所說的聲明(如變量)和一個內部(不具名)的對象,也就是具名Handle的內部對象。它在Manged Heap(托管堆)中分配,一般由新增引用對象的New方法是進行創建。深拷貝是指源對象與拷貝對象互相獨立,其中任何一個對象的改動都不會對另外一個對象造成影響。舉個例子,一個人名叫張三,后來用他克隆(假設法律允許)了另外一個人,叫李四,不管是張三缺胳膊少腿還是李四缺胳膊少腿都不會影響另外一個人。比較典型的就是Value(值)對象,如預定義類型Int32,Double,以及結構(struct),枚舉(Enum)等。

淺拷貝概念

淺拷貝只復制指向某個對象的指針,而不復制對象本身,新舊對象還是共享同一塊內存。但深拷貝會另外創造一個一模一樣的對象,新對象跟原對象不共享內存,修改新對象不會改到原對象。

JS中深拷貝和淺拷貝區別?

兩者的區別在于是否是真正獲取了一個對象的復制實體,而不是引用,深拷貝在計算機中開辟了一塊內存地址用于存放復制的對象,而淺拷貝僅僅是指向被拷貝的內存地址,如果原地址中對象被改變了,那么淺拷貝出來的對象也會相應改變。

深拷貝

最簡單的方法就是

JSON.parse(JSON.stringify())
function deepCopy(o) {
    return JSON.parse(JSON.stringify(o))
}
var c = {
    age: 1,
    name: undefined,
    sex: null,
    tel: /^1[34578]\d{9}$/,
    say: () => {
        console.log('hahha')
    }
}
// { age: 1, sex: null, tel: {} }

需要注意的是:這種拷貝方法不可以拷貝一些特殊的屬性(例如正則表達式,undefine,function)

用遞歸去復制所有層級屬性

function deepCopyTwo(obj) {
    let objClone = Array.isArray(obj) ? [] : {};
    if (obj && typeof obj == 'object') {
        for (const key in obj) {
            //判斷obj子元素是否為對象,如果是,遞歸復制
            if (obj[key] && typeof obj[key] === "object") {
                objClone[key] = deepCopyTwo(obj[key]);
            } else {
                //如果不是,簡單復制
                objClone[key] = obj[key];
            }
        }
    }
    return objClone;
}

淺拷貝

object.assign(target,source)

Object.assign 方法只復制源對象中可枚舉的屬性和對象自身的屬性

如果目標對象中的屬性具有相同的鍵,則屬性將被源中的屬性覆蓋。后來的源的屬性將類似地覆蓋早先的屬性

Object.assign 會跳過那些值為 [null] null 是一個 JavaScript 字面量,表示空值(null or an "empty" value),即沒有對象被呈現(no object value is present)。它是 JavaScript 原始值 之一。") 或 undefined 的源對象。

以上就是JS中深拷貝和淺拷貝區別?的詳細內容,更多請關注創新互聯其它相關文章!


網頁名稱:javascript中深拷貝與淺拷貝的區別是什么
地址分享:http://www.xueling.net.cn/article/gghsie.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 欧美五月 | 日本一区二区在线免费观看 | 亚洲乱码av一区二区三区中文在线: | 中日韩黄色一级片 | 欧美成人天天综合在线视色 | 久久视频热 | 国产一区二区三区在线2021 | 亚洲精品久久久久玩吗 | www.一区二区.com | 玩弄人妻少妇500系列视频 | 狠狠搞狠狠操 | 91综合中文字幕乱偷在线 | ▇精东视频▇在线观看视频 | 欧美精品码一区二区三区免费观看 | 欧美国产一区二区三区激情无套 | 成人av网站免费 | 人人爱人人干婷婷丁香亚洲 | 又嫩又硬又黄又爽的视频 | 中文字幕第35页 | 亚洲VA在线vA天堂XXXX | 国产精品国产三级国产AV中文 | 日本久久精品一区 | 欧美精品成人一区二区在线观看 | 国产精品久久人妻拍拍水牛影视 | 97色精品视频在线观看 | 欧美最猛性bbbbxxxx | 国产日产欧产精品精品郁金香 | 中国一级黄色影片 | 日韩精品亚洲Aⅴ在线影院 暖暖视频免费高清日本 | 日本一级黄色录像 | 毛片大全 | 少妇人妻中文字幕HD | 天天做天天看 | 四库成人免费视频 | 999精品在线观看视频 | 国产区在线视频 | 亚洲在线中字幕 | 99国产欧美久久久精品 | 美美女高清毛片视频免费观看 | 性色AV一区二区三区夜夜嗨 | 极品美女Aⅴ在线观看 |