let hash = new WeakMap(); // 弱引用映射表
// 设置数据
function setData(target, val) {
if (hash.has(target)) return hash.get(target);
hash.set(target, val);
console.log("you are set data");
setData(target, val); //递归调用 => 不会再为对象添加已有的相同属性
return obj;
}
let preson = {
name: "Jane",
age: 18
}
let obj = {
say: {
msg: "哈哈"
}
}
console.log(setData(preson, obj));