物件如何深度克隆
<script type="text/javascript">
function clone(obj) {
//判斷是物件,就進行迴圈複製
if (typeof obj === 'object' && typeof obj !== 'null') {
// 區分是陣列還是物件,建立空的陣列或物件
var o = Object.prototype.toString.call(obj).slice(8, -1) === "Array" ? [] : {};
for (var k in obj) {
// 如果屬性對應的值為物件,則遞迴複製
if(typeof obj === 'object' && typeof obj !== 'null'){
o[k] = clone(obj[k])
}else{
o[k] = obj[k];
}
}
}else{ //不為物件,直接把值返回
return obj;
}
return o;
}
</script>
深克隆的意思是新建立一個物件,並且擁有另外一個物件的所有屬性。
當你改變新物件的時候 對原有物件不會有改變
相關文章
- 如何實現物件的深度克隆物件
- js深度克隆物件JS物件
- javascript 深度克隆物件JavaScript物件
- js物件的深度克隆!JS物件
- JS物件深度克隆/複製JS物件
- 在 JavaScript 中如何克隆物件?JavaScript物件
- javascript深度克隆JavaScript
- js 深度克隆JS
- js如何克隆一個節點物件JS物件
- Java中的物件“克隆”Java物件
- JavaScript深層克隆物件JavaScript物件
- js克隆一個物件JS物件
- JS型別判斷、物件克隆、陣列克隆JS型別物件陣列
- 原生js實現物件的深克隆以及淺克隆JS物件
- js之物件深淺克隆JS物件
- 從JDK角度看物件克隆JDK物件
- .NET物件克隆的深究 (轉)物件
- 寫一個深度克隆函式函式
- 詳解 Java 中的物件克隆Java物件
- Java值物件或DTO克隆工具Java物件
- 物件的克隆——原型模式(四)物件原型模式
- 物件的克隆——原型模式(三)物件原型模式
- 物件的克隆——原型模式(二)物件原型模式
- 物件的克隆——原型模式(一)物件原型模式
- 什麼要使用克隆、如何實現克隆物件、序列化與反序列實現克隆的好處、深拷貝與淺拷貝物件
- vue 克隆物件時遇到的問題Vue物件
- Java 的常見 API 與物件克隆)JavaAPI物件
- VB.NET中物件的克隆 (轉)物件
- CoffeeScript攻略2.1:克隆物件(深複製)物件
- ES6時代,你真的會克隆物件嗎?物件
- 一個克隆物件的C#基類 (轉)物件C#
- 如何安全地讀寫深度巢狀的物件?巢狀物件
- ES6時代,你真的會克隆物件嗎(二)物件
- js深度複製物件JS物件
- 使用結構化克隆在 JavaScript 中進行深度複製JavaScript
- vue的深度拷貝物件Vue物件
- JS 物件合併與克隆方法的分類與比較JS物件
- 三目運算、物件克隆、深拷貝和淺拷貝物件