<!DOCTYPE html>
<html lang="en"> <head>
<meta charset="UTF-8">
<title>js对象的深度克隆</title>
</head> <body>
<script type="text/javascript">
var cloneObj = function(obj) {
var str, newobj = obj.constructor === Array ? [] : {};
if (typeof obj !== 'object') {
return;
} else if (window.JSON) {
str = JSON.stringify(obj), //系列化对象
newobj = JSON.parse(str); //还原
} else {
for (var i in obj) {
newobj[i] = typeof obj[i] === 'object' ?
cloneObj(obj[i]) : obj[i];
}
}
return newobj;
};
</script>
</body> </html>
相关文章
- 11-04JS数据的追加和删除 函数关键词 以及BOM对象和DOM操作课堂随笔记录
- 11-04JS数组对象的去重和排序操作
- 11-04js-5:常用的内置对象和使用方法
- 11-04js------Object.defineProperty设置或修改对象中的属性
- 11-04js赋值变了,被赋值的对象也变了。封装组件时,初始化一个对象,将初始化对象赋值给另一个对象,与form表单双向绑定,form表单变了,与form表单双向绑定的值也变了,最终导致初始化对象改变
- 11-04js 根据对象数组中的属性进行排序
- 11-04js sort方法根据数组中对象的某一个属性值进行排序
- 11-04js sort方法根据数组中对象的某一个属性值进行排序
- 11-04js 根据数组对象里的某个属性实现顺序或逆序排序
- 11-04JS 中 对数组对象的方法 ----splice (比较细比较多。容易记)