Нужно ли "убирать" после того, как HTML Escape-строка Javascript? - PullRequest
0 голосов
/ 19 мая 2018

У меня есть приложение Javascript, в котором мне нужно экранировать символы типа «<» и «>» в ​​строке.

Это выглядит как идеальное решение:

Как избежать HTML

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;
}

Q: Действительно ли этодобавить «p» (и связанный текст) в мой DOM?

В: Нужна ли мне метод removeChild () или любая другая «очистка», если все, что я хочу сохранить, это экранированная строка?

1 Ответ

0 голосов
/ 19 мая 2018

A1: Нет, это было бы, если бы функция также называлась document.body.appendChild(p);

A2: Нет, как вы, вероятно, можете догадаться из A1.После возврата из функции ее локальные переменные отбрасываются, p становится недоступным и, в конечном итоге, будет собирать мусор.

...