深拷貝和淺拷貝區別及概念


          數據類型分為兩種基礎類型和引用類型:

 

           1、基礎類型:像Number、String、Boolean等這種為基本類型
           2、引用類型:Object和Array

 

           淺拷貝只是復制了對象的引用地址,兩個對象指向同一個內存地址,所以修改其中任意的值,另一個值都會隨之變化,這就是淺拷貝(例:assign())

           深拷貝是將對象及值復制過來,兩個對象修改其中任意的值另一個值不會改變,這就是深拷貝(例:JSON.parse()和JSON.stringify(),但是此方法無法復制函數類型

                  當你需要深拷貝對象中的方法時是可以用lodash.js(提高JS原生方法性能的JS庫)中的cloneDeep()方法

                   <script type="text/javascript">
                         var objA = { "name": "戈德斯文" };
                         var objB =lodash.cloneDeep(objA);
                   </script>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM