- 直接将存储在栈中的值赋值给对应变量,如果是基本数据类型,则直接赋值对应的值,如果是引用类型,则赋值的是地址
const a = (obj) => { let qObj = {} for (let i in obj) { qObj[i] = obj[i] } return qObj; }深克隆
- 就是把数据赋值给对应的变量,从而产生一个与源数据不相干的新数据(数据地址已变化)。深拷贝,是拷贝对象各个层级的属性
const b = (obj) => { if (typeof obj === 'object') { var sObj = obj.constructor === Array ? [] : {}; for (var i in obj) { sObj[i] = typeof (obj[i]) === 'object' ? b(obj[i]) : obj[i]; } }else { var sObj = obj; } }