成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

js_深拷貝對象

icattlecoder / 3201人閱讀

摘要:深拷貝和淺拷貝的區(qū)別深拷貝和淺拷貝的使用場景是在復雜對象里,即對象的屬性還是對象,淺拷貝是指只復制一層對象,當對象的屬性是引用類型時,實質(zhì)復制的是其引用,當引用指向的值改變時也會跟著變化深拷貝對象淺拷貝,只第一層的屬性值,如果屬性值是對象,

深拷貝和淺拷貝的區(qū)別:深拷貝和淺拷貝的使用場景是在復雜對象里,即對象的屬性還是對象,
淺拷貝是指只復制一層對象,當對象的屬性是引用類型時,實質(zhì)復制的是其引用,當引用指向的值改變時也會跟著變化
//深拷貝對象
function deepCopy(value){
    if(typeof value != "object"){
        return value;
    }
    let o = value.constructor == Array ? [] :{};
    if(o instanceof Array){
        for(let key of Object.keys(value)){
            o[key] = deepCopy(value[key]);
        }
    }else{
        for(let i in value){
            o[i] = deepCopy(value[i]);
        }
    }
    return o;
}
let a=[11,[2,3,[4]],5,7,[9]];
let b = {
    a:{g:6},
    b:1,
    c:{
        d:{
            e:4
        },
        f:5
    }
}
let c = deepCopy(a);
let d = deepCopy(b);

//淺拷貝,只copy第一層的屬性值,如果屬性值是對象,則復制的是這個對象的引用。
function shallowCopy(src) {
  var dst = {};
  for (var prop in src) {
    if (src.hasOwnProperty(prop)) {
      dst[prop] = src[prop];
    }
  }
  return dst;
}

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/102395.html

相關(guān)文章

  • 一篇文章徹底說清JS拷貝/淺拷貝

    摘要:一篇文章徹底說清的深拷貝淺拷貝這篇文章的受眾第一類業(yè)務(wù)需要急需知道如何深拷貝對象的開發(fā)者。這篇文章分享的目的更多還是希望用一篇文章整理清楚深淺拷貝的含義遞歸實現(xiàn)思路以及小伙伴們?nèi)绻褂昧诉@種黑科技一定要清楚這樣寫的優(yōu)缺點。 一篇文章徹底說清JS的深拷貝and淺拷貝 這篇文章的受眾 第一類,業(yè)務(wù)需要,急需知道如何深拷貝JS對象的開發(fā)者。 第二類,希望扎實JS基礎(chǔ),將來好去面試官前秀操作...

    J4ck_Chan 評論0 收藏0
  • 一篇文章徹底說清JS拷貝/淺拷貝

    摘要:一篇文章徹底說清的深拷貝淺拷貝這篇文章的受眾第一類業(yè)務(wù)需要急需知道如何深拷貝對象的開發(fā)者。這篇文章分享的目的更多還是希望用一篇文章整理清楚深淺拷貝的含義遞歸實現(xiàn)思路以及小伙伴們?nèi)绻褂昧诉@種黑科技一定要清楚這樣寫的優(yōu)缺點。 一篇文章徹底說清JS的深拷貝and淺拷貝 這篇文章的受眾 第一類,業(yè)務(wù)需要,急需知道如何深拷貝JS對象的開發(fā)者。 第二類,希望扎實JS基礎(chǔ),將來好去面試官前秀操作...

    lakeside 評論0 收藏0
  • 一篇文章徹底說清JS拷貝/淺拷貝

    摘要:一篇文章徹底說清的深拷貝淺拷貝這篇文章的受眾第一類業(yè)務(wù)需要急需知道如何深拷貝對象的開發(fā)者。這篇文章分享的目的更多還是希望用一篇文章整理清楚深淺拷貝的含義遞歸實現(xiàn)思路以及小伙伴們?nèi)绻褂昧诉@種黑科技一定要清楚這樣寫的優(yōu)缺點。 一篇文章徹底說清JS的深拷貝and淺拷貝 這篇文章的受眾 第一類,業(yè)務(wù)需要,急需知道如何深拷貝JS對象的開發(fā)者。 第二類,希望扎實JS基礎(chǔ),將來好去面試官前秀操作...

    big_cat 評論0 收藏0
  • JS中的拷貝與淺拷貝

    摘要:中的深拷貝與淺拷貝說到深淺拷貝的時候就不得不說一下中的變量類型了基本類型按值存放在棧內(nèi)存中的簡單數(shù)據(jù)段可以直接訪問引用類型存放在堆內(nèi)存中的對象變量保存的是一個指向存放數(shù)據(jù)位置的指針訪問引用類型的值時首先從棧中獲取到存放該數(shù)據(jù)位置的指針然后再 JS中的深拷貝與淺拷貝 說到深淺拷貝的時候就不得不說一下JS中的變量類型了: 基本類型: undefined、null、boolean、numb...

    ARGUS 評論0 收藏0
  • js中的淺拷貝拷貝入理解

    摘要:舉個例子來說明一下什么是淺拷貝什么是深拷貝淺拷貝得出的結(jié)果可以看出是淺拷貝非對象的屬性值一個改變不影響另一個的值對象屬性是引用賦值所以一個改變會影響另一個的改變出現(xiàn)這種情況的本質(zhì)是對象是按引用賦值的深拷貝指的是拷貝一個對象,改變一個值不影響 舉個例子來說明一下什么是淺拷貝什么是深拷貝 淺拷貝 var x = { a: 1, b: {f: { g: 1 ...

    lastSeries 評論0 收藏0
  • 復習Javascript專題(四):js中的拷貝

    摘要:基本數(shù)據(jù)類型的復制很簡單,就是賦值操作,所以深淺拷貝也是針對,這類引用類型數(shù)據(jù)。它會拋棄對象的。另外,查資料過程中還看到這么一個詞結(jié)構(gòu)化克隆算法還有這一篇資料也有參考,也寫得比較詳細了的深淺拷貝 基本數(shù)據(jù)類型的復制很簡單,就是賦值操作,所以深淺拷貝也是針對Object,Array這類引用類型數(shù)據(jù)。 淺拷貝對于字符串來說,是值的復制,而對于對象來說則是對對象地址的復制;而深拷貝的話,它不...

    MobService 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<