來談一談物件的拷貝以及三個點語法的使用
首先創造一個物件
淺拷貝,只是把指標給了拷貝的物件,存取的物件是一樣的
內容過多先不展示瀏覽器效果
把obj物件的值賦值給obj1,此時obj1的指標和obj的指向相同,修改obj1的屬性值,obj也會受到影響;
深拷貝 :兩個物件沒有任何關係
首先可以通過JSON轉化進行深拷貝,但是此方法會造成物件內方法的丟失
1,通過JSON的兩次轉化完成深拷貝,此時的obj1和obj沒有任何關係,但是此時的obj1中沒有obj的say方法,修改obj1-obj感受不到變化
2,通過for-in遍歷迴圈完成
通過遍歷將obj的值給obj1空物件,得到一個全新的物件,同時可以得到obj中的say方法進行呼叫或修改物件,obj感受不到
3,Object.assign()方法
如圖:將obj複製給obj1進行深拷貝,此時obj1呼叫值以及方法obj不會受到任何影響
4,接下來就是…三個點語法
將obj的方法通過…語法給到obj1進行深拷貝,修改obj1的數值以及呼叫方法obj不會受到影響
文章略短,下一篇文章會詳細介紹…語法
如有錯誤請指出,拿文章請通知作者謝謝