国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

js的深淺拷貝

tain335 / 757人閱讀

摘要:區別深淺拷貝主要的區別的拷貝的層級不同,淺拷貝拷貝的是一層不包括里面的引用數據類型,深拷貝的是多層實現方式淺拷貝完成后的對象如果還拷貝原型對象就刪了這句深深拷貝需要判斷引用數據類型,貌似還要調用遞歸的方式。

區別:
深淺拷貝主要的區別的拷貝的層級不同,淺拷貝拷貝的是一層不包括里面的引用數據類型,深拷貝的是多層

實現方式:淺

function shallClone (obj) {
    var obj_kkw = {}; // 拷貝完成后的對象
    for ( var i in obj) {
        if(obj.hasOwnProperty(i)) { // 如果還拷貝原型對象就刪了這句
        obj_kkw[i] = obj[i]
        }
    }
    return obj_kkw;
}

深:深拷貝需要判斷引用數據類型,貌似還要調用遞歸的方式。
function deep (ori,tar) {
    var tar = tar || {}
    var tostr = Object.prototype.toString;
    var arrstr = "[object Array]";
    
    for ( let prop in ori) {
         if(ori.hasOwnProperty(prop)) {
             if(ori[prop] !== null && typeof(ori[prop]) == "object") {
                 if(tostr.call(ori[prop]) == arrstr) {
                     tar[prop] == [];
                 } else {
                     tar[prop] == {};
                 }
                 deep (ort[prop], tar[prop]); 
             } else {
                 tar[prop] == ori[prop]
             }
         }   
     }
     return tar;
}



文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/106276.html

相關文章

  • JS專題之深淺拷貝

    摘要:在之前的文章專題之數據類型和類型檢測中我有講過,中的數據類型分為兩種,基本數據類型和引用數據類型,基本數據類型是保存在棧的數據結構中的是按值訪問,所以不存在深淺拷貝問題。 前言 在開發過程中,偶爾會遇到這種場景,拿到一個數據后,你打算對它進行處理,但是你又希望拷貝一份副本出來,方便數據對比和以后恢復數據。 那么這就涉及到了 JS 中對數據的深淺拷貝問題,所謂深淺拷貝,淺拷貝的意思就是,...

    ASCH 評論0 收藏0
  • 深入理解JS深淺拷貝

    摘要:深拷貝相比于淺拷貝速度較慢并且花銷較大。所以在賦值完成后,在棧內存就有兩個指針指向堆內存同一個數據。結果如下擴展運算符只能對一層進行深拷貝如果拷貝的層數超過了一層的話,那么就會進行淺拷貝那么我們可以看到和展開原算符對于深淺拷貝的結果是一樣。 JS中數據類型 基本數據類型: undefined、null、Boolean、Number、String和Symbol(ES6) 引用數據類型:...

    JackJiang 評論0 收藏0
  • 9012年,當我們討論js深淺拷貝時我們在說些什么?

    摘要:正文討論深淺拷貝,首先要從的基本數據類型說起根據中的變量類型傳遞方式,分為值類型和引用類型,值類型變量包括。當你拷貝的對象有多級的時候,就是深拷貝。數據不存在則對其拷貝。 前言: 本文主要閱讀對象:對深淺拷貝印象模糊對初級前端,想對js深淺拷貝聊一聊的中級前端。 如果是對這些有完整對認知體系和解決方法的大佬,可以選擇略過。 正文: 討論深淺拷貝,首先要從js的基本數據類型說起: 根據 J...

    xeblog 評論0 收藏0
  • 深淺拷貝

    摘要:深復制實現代碼如下第一種方法通過遞歸解析解決第二種方法通過解析解決作者六師兄鏈接原生深拷貝的實現處理未輸入新對象的情況通過方法構造新的對象 深淺拷貝針對的是 對象類型,如果是字符串的數組用[...arr],還是不會影響 要區分針對數組的深淺拷貝(默認情況為里面沒有對象的數組),與針對對象的深淺拷貝 JavaScript數組深拷貝和淺拷貝的兩種方法 let a1 = [1, 2]; ...

    Karrdy 評論0 收藏0
  • 復習Javascript專題(四):js深淺拷貝

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

    MobService 評論0 收藏0
  • 一篇文章徹底搞懂JS深淺拷貝和const

    摘要:圖數據類型圖引用類型深淺拷貝問題不知道什么是深拷貝和淺拷貝的請先去并在調試臺自己操作一下,這篇文章只會說明為何中會有這種問題。所以有的時候我們為了避免淺拷貝,會用一些方式實現深拷貝。 首先要了解的js基礎 基本數據類型:Object、undefined、null、Boolean、Number、String、Symbol (ES6新加) Object包括: Array 、Date 、R...

    MyFaith 評論0 收藏0

發表評論

0條評論

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