javascript - 在 HTML Escape Javascript 字符串之后是否需要“清理”?
问题描述
我有一个 Javascript 应用程序,我需要在其中转义字符串中的“<”和“>”等字符。
这看起来是一个理想的解决方案:
function escapeHTML(str){ var p = document.createElement("p"); p.appendChild(document.createTextNode(str)); return p.innerHTML; }
或使用 Option() 构造函数的简短替代方法
function escapeHTML(str){ return new Option(str).innerHTML; }
问:这是否真的在我的 DOM 中添加了“p”(以及相关的文本)?
问:如果我只想保存转义字符串,是否需要“removeChild()”或任何其他“清理”?
解决方案
A1:不,如果函数也调用document.body.appendChild(p);
A2:不,正如您可能从 A1 中猜到的那样。函数返回后,其局部变量被丢弃,p
变得不可访问,最终将被垃圾回收。
推荐阅读
- android - 焦点不会自动转移到下一个edittext?
- javascript - 如何在车把文件中打印“body”元素?
- python - 如何打印数字列表及其平均值?
- html - 如何在相对 div 中包含固定栏并完美显示滚动条
- python - `json.dumps` 对于 \u0000 字符的奇怪行为
- kubernetes - Kubernetes 入口服务 NodePort 只监听 tcp6/ipv6 而不是 tcp/ipv4
- dynamics-crm - 重新分配所有者的自定义工作流突然停止工作
- php - 是否有任何算法可以制作具有每一轮独特组合的循环调度?
- flutter - VSCode 飞镖代码自动完成不适用于包
- cassandra - CQL:InvalidRequest:来自服务器的错误:code=2200 [无效查询]