WEBO_RU Telegram 3
При оптимизации по размеру важно помнить, что результат, как правило, будет сжат 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"

Это не говоря о том, что второй пример читается гораздо проще, чем первый, на мой взгляд.



tgoop.com/webo_ru/3
Create:
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

View MORE
Open in Telegram


Telegram News

Date: |

The main design elements of your Telegram channel include a name, bio (brief description), and avatar. Your bio should be: Telegram has announced a number of measures aiming to tackle the spread of disinformation through its platform in Brazil. These features are part of an agreement between the platform and the country's authorities ahead of the elections in October. Ng was convicted in April for conspiracy to incite a riot, public nuisance, arson, criminal damage, manufacturing of explosives, administering poison and wounding with intent to do grievous bodily harm between October 2019 and June 2020. A new window will come up. Enter your channel name and bio. (See the character limits above.) Click “Create.” Telegram users themselves will be able to flag and report potentially false content.
from us


Telegram webo_ru
FROM American