JavaScript引用數據的使用和復制

jopen 10年前發布 | 14K 次閱讀 JavaScript開發 JavaScript

JavaScript中的數組等都是以對象形式來存儲和引用,就算直接賦值給其他變量,也僅僅是一個地址指向而已,這個毋須多言。工作中,會遇到對數據有添刪的操作但又不能破壞原始數據的情況下,對于引用類型的數值想要復制一份,就得采取一些變通的方法。當然不建議對需要多次重復使用的引用數據進行業務算法中添加刪除操作,盡量變通,如果對數據有改動,就需要克隆一份獨立的數據出來。

JavaScript克隆一份數據出來的好處顯而易見,對需要多次調用的原始數據十分安全,操作只針對克隆出來的數據操作,和原始數據沒有引用關系,下一次調用原始數據還會保持最原始的狀態。

克隆的方式是自己寫了一個方法來進行,這是我自己在項目中的處理方式,雖然看起來不雅觀,但確實解決了我的很多問題,如果有其他更好的解決方式,我也很希望拓寬自己的思路。

以下是克隆的代碼分享:

function mclone(mObj){ 
    if(typeof(mObj) != 'object') 
        return mObj; 
    if(mObj == null) 
        return null; 
    var mNewObj = new Array(); 
    for(var i in mObj){

        mNewObj[i] = mclone(mObj[i]); 
    }
    return mNewObj; 
}
 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!