1. 程式人生 > >深拷貝和淺拷貝區別及概念

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

    資料型別分為兩種基礎型別和引用型別:

 

           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>