美文网首页
JS内存泄漏

JS内存泄漏

作者: lmmy123 | 来源:发表于2017-11-27 17:12 被阅读12次

    内存泄漏——不再用到的内存,没有及时释放

    垃圾回收机制

    引用计数:当一个值的引用次数为0时,就表示这个值不再用到了,可以将内存释放

    const  arr =[1, 2, 3, 4];

    console.log('hello word')

    数组【1,2,3,4】是一个值,会占用内存,变量arr 是仅有的对这个值的引用,因此引用次数为1,尽管后面没有用到arr,它还是会持续占用内存

    arr = null;  //手动将此内存释放


    内存泄漏的识别方法

    经验法则是:如果连续五次垃圾回收之后,内存占用一次比一次大,就有内存泄漏


    WeakMap

    ES6推出两种新的数据结构:WeakSet 和 WeakMap,他们对于值的引用都是不计入垃圾回收机制的,所有名字中有个“Weak”;表示这是弱引用

    const wm = new  WeakMap();

    const element = document.getElementById('example');

    wm.set(element, 'some informatino')

    wm.get(element);

    相关文章

      网友评论

          本文标题:JS内存泄漏

          本文链接:https://www.haomeiwen.com/subject/zzydbxtx.html