@rock вы хотите обсудить быстродействие встроенных в интерпретатор методов?
Я просто сказал, что ваш «простой» вариант вовсе не простой, а с тернарным оператором вместо предварительной замены в строке. И он медленней. Вы хотите доказать, что он-таки лучше, а я не понимаю — в чём?
@rock ваша компактность? Я убираю ненужные символы до начала цикла, а не проверяю их внутри. Это гарантированно быстрее и поэтому я не стал писать проверку внутри цикла.
вы обходите массив используя forEach вместо обычного цикла
И опять мимо кассы — forEach проверяет только определённые элементы массива. Как и reduce(), как и map(), как и every().
var x = [];
x[1000] = 1;
x.forEach(function (a) {
console.log(a);
});
@SelenIT2 и раньше, и всегда HTML не парсился как SGML. И разметка не играла значения, если заголовок сервера гласил text/html.
Всеми этими играми с XHTML народу только голову запудрили. Большинство ведь было уверено (да и сейчас таких немало), что с помощью доктайпа управляют типом парсинга документа (хотя даже и слов таких многие не знают).
Очень смешно наблюдать невалидные документы с кучей / в конце одиночных тэгов, в которых встречаются style и script с текстом, не заключённым в CDATA, значения атрибутов без кавычек и даже амперсанды в тексте.
С появлением HTML 5 сказали — ребята, мы-таки не SGML. Хотите SGML — отдавайте с application/xhtml+xml и всех делов-то. Но дураков уже нет — SVG за милую душу парсится даже без указания пространства имён, вот какой мудрый парсер HTML, знает когда и кому что нужно передать. А говнокод из прошлого так и остался.
@vasIvas всё верно. Только вы называете стерилизатор громким словом Facade:)
Обычно фасад реализуют как метод модуля, служащий прокладкой между бизнес-логикой и мелкими модулями. А мы тут обмусоливаем чисто технические моменты — миксины и наследование.