浅层复制 ( shallow copy )
for in 写法
// 浅层复制
var family = {
home: '小黑家',
members:{
mom: '老妈',
father: '老爸',
black: '小黑',
}
}
var newFamily = {};
for(var key in family){
console.log(key); // home members (family第一层属性)
newFamily[key] = family[key];
}
console.log(newFamily,family);
// 修改第一层属性
newFamily.home = '大雄家';
console.log(newFamily,family); // 大雄家 小黑家
console.log(newFamily === family); // false
// 修改第二层属性
newFamily.members.black = '大黑';
console.log(newFamily,family); // 大黑 大黑
console.log(newFamily === family); // false
// 且会发现 两个同时都会改 所以只能做到第一层的复制
jQuery 写法
var newFamily2 = jQuery.extend({},family);
ES6 写法
var newFamily3 = Object.assign({},family);
深层复制(deep copy)
透过 JSON.stringify 先转字串 再透过 JSON.parse 转成物件
var family = {
home: '小黑家',
members:{
mom: '老妈',
father: '老爸',
black: '小黑',
}
}
var newFamily4 = JSON.parse(JSON.stringify(family));
newFamily4.home = '小白家';
newFamily4.members.black = '大黑';
console.log(family,newFamily4); // 小黑家 小黑 , 小白家 大黑
console.log(family === newFamily4); // false
那今天的介绍就到这里
若有任何问题 或 内容有误
都可以跟我说唷
>>: 特权蠕变(Privilege Creep)& 自由访问控制(DAC)
用 [] 来取得字元 要取出某个字元,可以指定他的offset,第一个为最左边的offset 是 0...
本文同步更新於blog 前情提要:铁路运输系统,参考范例:运输系统(工厂方法模式) <?p...
17King 制造中,订阅一下吧(*´∀`)~♥ 今日影片长度:07 分 32 秒 本集重点条列: ...
投了多封的履历後也很顺利的有了面试的机会,接下来在这个部分简单分享一下过去面试时的一些心得 面试前的...
这节内容就是应用大致的规划,使用的技术栈以及後台开发环境建立 1. 应用大致的规划 2. 使用的技术...