tgoop.com/webo_ru/3
Last Update:
При оптимизации по размеру важно помнить, что результат, как правило, будет сжат gzip'ом и любые сравнения надо производить после сжатия.
Рассмотрим на примере.
Функция определения поддержки браузером SVG, которая выставляет класс ua_svg_yes
или ua_svg_no
на <html>
:(function(d,n){d.documentElement.className="ua_svg_"+(d[n]&&d[n]("http://www.w3.org/2000/svg","svg").createSVGRect?"yes":"no")})(document,"createElementNS")
Кажется, что тут всё оптимально и сделать меньше уже нелья. Специально обернули в функцию, передали в неё повторяющиеся части, которые превратились в однобуквенные переменные.
Да, но нет. Код ниже больше по размеру (161 байт против 157), но после gzip получается меньше (126 против 154):document.documentElement.className=document.createElementNS&&document.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect?"ua_svg_yes":"ua_svg_no"
Это не говоря о том, что второй пример читается гораздо проще, чем первый, на мой взгляд.
BY webo_ru
Share with your friend now:
tgoop.com/webo_ru/3