解決這個問題的前提是:了解過js的變量存儲類型、賦值他去。
懂的就跳過
==============
變量存儲類型分兩類
①基本類型:直接存儲在棧中的數(shù)據毙驯。(字符串、布爾值灾测、未定義爆价、數(shù)字、null)
②引用類型:將該對象引用地址存儲在棧中媳搪,然后對象里面的數(shù)據存放在堆中铭段。(數(shù)組、對象秦爆、函數(shù))
這里解釋一下為什么null是基本類型:有人說他用type of打印出來不是oject嗎序愚?
null只是一個空指針對象,沒有數(shù)據等限。根據引用類型特點可以看一下是否符合爸吮。
=================
回到我們的問題上
說說深拷貝和淺拷貝還有賦值的區(qū)別芬膝,這樣好理解
淺拷貝:也就是拷貝A對象里面的數(shù)據,但是不拷貝A對象里面的子對象
深拷貝:會克隆出一個對象形娇,數(shù)據相同锰霜,但是引用地址不同(就是拷貝A對象里面的數(shù)據,而且拷貝它里面的子對象)
賦值:獲得該對象的引用地址
下面用實例來說明
賦值特點說明:
淺拷貝特點說明:
深拷貝說明:
喜歡的點個贊,對你有幫助的點個贊丽惶。