HTML 转义 Javascript 字符串后是否需要 "clean up"?

Do I need to "clean up" after HTML Escape a Javascript string?

我有一个 Javascript 应用程序,我需要在其中对字符串中的“<”和“>”等字符进行转义。

这看起来是一个理想的解决方案:

How to escape HTML

function escapeHTML(str){
    var p = document.createElement("p");
    p.appendChild(document.createTextNode(str));
    return p.innerHTML;
}

or a short alternative using the Option() constructor

function escapeHTML(str){
    return new Option(str).innerHTML;
}

问:这是否真的将 "p"(和相关文本)添加到我的 DOM 中?

问:如果我只想保存转义字符串,是否需要 "removeChild()" 或任何其他 "cleanup"?

A1:不,如果函数也调用了 document.body.appendChild(p);

A2:没有,从A1你大概能猜到。函数returns之后,它的局部变量被丢弃,p变得不可达,最终会被垃圾回收。