数据储存
时间:2022-06-11
本文章向大家介绍数据储存,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
var ca = {color:"red",height:185};
var ne = {name:"zhangsan",age:15,other:ca};
// 浅拷贝
var pr = {};
// pr.name = ne.name;
// pr.age = ne.age;
// pr.other = ne.other;
for(var i in ne){
pr[i] = ne[i];
}
//注意:var pr =ne;这个不叫拷贝,只是赋值;
//浅拷贝中被拷贝的对象中有引用类型时,改变了其中的引用类型中的属性对他们都有影响,
//eg:ne.other.color = "blue";
var ca = {color:"red",height:185};
var ne = {name:"zhangsan",age:15,other:ca};
// 深拷贝
var pr = {};
for(var i in ne){
if(typeof ne[i] ==="object"){
pr[i]={};//必须先声明是一个对象,要不然会报错;
for(var k in ne[i]){
pr[i][k] = ne[i][k]
}
}else{
pr[i] = ne[i];
}
}
ne.name = "lisi";
ne.other.color = "blue";
//深拷贝,被拷贝的属性是引用类型,并且是数组的情况
var ca = ["a",2,true];
var ne = {name:"zhangsan",age:15,other:ca};
// 深拷贝
var pr = {};
for(var i in ne){
if(typeof ne[i] ==="object"){
pr[i]=[];//必须先声明是一个数组,要不然会报错;
for(var k in ne[i]){
pr[i][k] = ne[i][k]
}
}else{
pr[i] = ne[i];
}
}
ne.name = "lisi";
ne.other[0] = "blue";
age.png//浅拷贝(面对对象的思想)
var ca = {color:"red",height:185};
var ne = {
name:"zhangsan",
age:15,
other:ca,
lightcopy:function(){
var xx = {};
for(var i in this){
xx[i]=this[i];
}
return xx;
}};
// 浅拷贝面对对象
var newne = ne.lightcopy();
ne.name = "lisi";
ne.other.color = "blue";
//深拷贝(面对对象)
var ca = {color:"red",height:185};
var ne = {name:"zhangsan",age:15,other:ca};
function DeepCopy(){
var temp = {};
for( var i in this){
if(typeof this[i]==="object"){
temp[i]=this[i].deepcopy();
}else{
temp[i]=this[i];
}
}
return temp;
}
//让每一个对象都有deepcopy的属性,对应着DeepCopy方法,
//在拷贝时,若是基本类型则直接拷贝,是引用类型就调用其自身的deepcopy方法,将放回值赋值给对应的属性,
ca.deepcopy = DeepCopy;
ne.deepcopy = DeepCopy;
var newNe = ne.deepcopy();
ne.name = "lisi";
ne.other.color = "blue";
- 数据城堡参赛代码实战篇(二)---使用pandas进行数据去重
- 洛谷P3375 【模板】KMP字符串匹配
- Day5下午解题报告1
- [编程经验] Python中处理时间的方法小结
- 数据城堡参赛代码实战篇(一)---手把手教你使用pandas
- [编程经验] SciPy之图像处理小结
- Day6上午解题
- TensorFlow从0到1 - 5 - TensorFlow轻松搞定线性回归
- Day6下午题解1
- [编程经验]Python中os模块最最常用的方法
- HDU3853
- [编程经验]Python中的Lambda,Map, Reduce小结
- TensorFlow从0到1 - 6 - 解锁梯度下降算法
- linux下join命令的用法
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 利用WAF进行拒绝服务攻击
- leetcode树之从根到叶的二进制数之和
- Vue3 模板编译原理
- leetcode树之从上到下打印二叉树
- leetcode树之二叉搜索树的最近公共祖先
- leetcode树之从翻转二叉树
- Linux常见的持久化后门汇总
- 一篇文章带你使用 Python搞定对 Excel 表的读写和处理(xlsx文件的处理)
- 从 rollup 初版源码学习打包原理
- leetcode树之相同的树
- Mysql Sql 语句练习题 (50道)
- 【每日一具16】来了!扫描图片批量漂白修正软件
- 实现一个 webpack loader 和 webpack plugin
- 万字长文带你走进 JavaScript 的世界
- windows中常见后门持久化方法总结