引言typeof 檢測arr或者物件的時候只會返回 object
引用資料型別:一般來說就是函式 物件 陣列
1.遞迴方式
function isobject(obj)
var deepclone=function(obj)
return num //最後返回num
}console.log(deepclone([123,123,[123,123]]))
a1=var a=object.assign(a1,})
console.log(a)
2.json.parse(json.stringify(obj))
注意這個方法有缺陷,其一是他會丟失函式的內容。
詳細可以去查詢相關的文件,過段時間我應該也會寫一篇這樣的文件。狗頭保命~~~~
原理就是先把obj 物件(陣列)轉化為 字串 然後再轉化回來,然後儲存給乙個新的變數,
var obj=[12,123,[123],]
var newobj=json.parse(json.stringify(obj))
console.log(newobj)
擴充套件運算子 …
這個方法只可以對沒有巢狀多層陣列的陣列使用,所以放到後面講
。。。後續有待時間來寫,上面的深複製已經總結完了的 手動狗頭保命······嘻嘻嘻
前端的深拷貝和淺拷貝 前端面試 深拷貝和淺拷貝
面試題目 如何實現對乙個陣列或物件的淺拷貝和深拷貝?wtf,複製還分兩種,第一次遇到這種問題的時候很是無語呢,先來看看一般的答案的理解。淺拷貝是只拷貝一層,深層次的物件級別就只拷貝引用。深拷貝是拷貝多層,每一級別的資料都拷貝出來。也就是說,基本資料型別其實不存在深淺拷貝的問題,只有物件和陣列才存在深...
vue物件深拷貝 vue陷阱 深拷貝vs淺拷貝
案例重現 看下面的乙個例子 data this.info m this.info.attr1 8 console.log m 這是vue的部分 我們猜測m會輸出什麼,你會驚奇的發現m會和this.info繫結,也就是對this.info.attr1的修改,會導致m的值變化,控制台輸出的結果是 att...
陣列和物件的淺拷貝和深拷貝
前言 對於拷貝需要考慮資料的型別 資料型別分為 基本資料型別和引用型別 基本資料型別是儲存在棧中的簡單資料 常見 string,number,undefined,null,boolean以及es6新定義的symbol 引用型別值是引用型別例項,它是儲存在堆中的乙個物件,引用型別是一中資料結構 常見 ...