js оптимизация для classList.Add - PullRequest
0 голосов
/ 04 марта 2020

Я пытаюсь выжать как можно больше производительности из моего js. Мне нужно убедиться, что элементу присвоен класс. Быстрее проверять и назначать, только если его там нет, или всегда назначать, даже если он уже там?

Другими словами, что быстрее

if (!element.classList.contains('class')) element.classList.add('class');

или всегда делать это

element.classList.add('class');

Класс уже там около 10% времени.

Ответы [ 2 ]

0 голосов
/ 04 марта 2020

Кто-то предложил использовать jsperf.com. Вот пример https://jsperf.com/classlist-add-vs-classlist-contains/1

Похоже, сначала проверка выполняется примерно на 5% быстрее, чем просто добавление

0 голосов
/ 04 марта 2020

element.classList.add проверяет, существует ли класс в любом случае. Попробуйте добавить один и тот же класс дважды, он не будет добавлен. Я уверен, что Браузер гораздо быстрее, чем js, чтобы проверить, следует ли добавить. Итак, go вперед и добавляем без проверки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...