ES2015 weakmap模拟实现vue3响应式

85 阅读1分钟
let yui = {
    name:"yui"
}
let weakmap = new WeakMap()
//触发的事件
let obj1 = new Map()
function fn1(){
    console.log('f1name被修改')
}
function fn2(){
    console.log('f2name被修改')
}
//绑定触发事件
obj1.set('name',[fn1,fn2])
weakmap.set(yui,obj1)
yui.name = "yui被修改"
//foreach遍历且调用事件
weakmap.get(yui).get('name').forEach(element => {
    element()
});
//清除
let weakmap = null