root_vnode是否会收集垃圾? 例如。如果我使用该函数创建一个“游戏”对象,然后再调用.root getter,它仍然引用root_vnode吗?
export default function createGameAPI(tree){
let game = {}
// Get ref to root virtual node
let root_node = tree.getRoot()
let root_vnode = tree.VNCache.get(root_node.id, root_node)
// Set 'root' property
Object.defineProperty(game.prototype, 'root', {
set: val => { return null },
get: () => { return root_vnode }
})
return game
}
答案 0 :(得分:0)
1)没有收集到垃圾,2)仍然有引用
javascript中的闭包: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Closures