on,addEventListener 绑定的事件会随着DOM元素的销毁而在内存中被销毁吗?

<body>
    <div id="wrap">
        <span id="link">点击</a>
    </div>
    
    <script>
        function foo() {
            let wrap = document.getElementById('wrap'),
                link = document.getElementById('link');
            function handleClick() {
                alert('clicked');
            }

            link.onclick = handleClick; // 
            // link.addEventListener('click', handleClick, false);
            wrap.removeChild(link);
        }

        foo();
    </script>
</body>

如上述代码,在foo函数中为link指向的DOM元素,绑定事件处理程序handleClick(DOM0DOM2两种方式)。当foo函数执行完毕,DOM元素被销毁,同时引用linkgc。请问handleClick事件处理程序是否也会被gc呢?是否需要采用link.onclick=null
link.removeEventListener方式对事件处理程序解绑?

阅读 3.5k
推荐问题
宣传栏