如果我用 let 声明它,我是否需要删除 javascript 中的对象

Do I need to delete an object in javascript if I declared it with let?

本文关键字:删除 javascript 对象 是否 let 声明 如果      更新时间:2023-09-26

在javascript中,如果我用let声明一个对象,我需要显式删除它吗?

例:

downloadHelper(url) {
    let pom = document.createElement('a');
    pom.setAttribute('href', url);
    pom.setAttribute('download', '');
    pom.style.display = 'none';
    document.body.appendChild(pom);
    pom.click();
    document.body.removeChild(pom);
    delete pom;
},

不,你不 JavaScript 是垃圾回收的。删除仅删除引用,而不是实际对象。下面解释了您所需要的一切。

有趣的帖子:在 JavaScript 中删除对象

这篇 stackoverflow 文章可能会有用。简短的回答是否定的。由于变量的作用域仍然是某些内容,因此当该内容被删除时,该变量应该被垃圾回收,通常也比var早。