既然已经有map了,那么WeakMap出现的原因是什么
那么就先说一下map的问题;map通过使其四个API方法共用两个数组(一个存放键,一个存放值)来实现。
给这种map设置值时会同时将键和值添加到这两个数组的末尾。从而使得键和值的索引在两个数组中相对应。
当从该map取值的时候,需要遍历所有的键,然后使用索引从存储值的数组中检索出相应的值。
这就导致了无论是赋值还是搜索都需要遍历真个数组,时间复杂度为O(n)。
同时也可能导致内存泄漏,因为数组会一直引用这每个键和值,导致无法垃圾回收机制无法在他们没有其他引用的时候进行回收。
帖子还没人回复快来抢沙发
一棵具有n个结点的二叉树,若它有m个叶子结点,则该二叉树中度为1的结点个数是多少?
请你谈谈Cookie的弊端
cookies,sessionStorage 和 localStorage 的区别?
微信公众号中服务号和订阅号合二为一,你怎么看?
帖子还没人回复快来抢沙发