У меня есть переменная, включающая коллекцию 120-ти дивов, полученных через гетЕлементсКлассНейм и в будущем снова получать их не собираюс.
Я собираюсь каждые 20 мили секунд читать их атрибут dir или какой-либо другой и менять его значение. Какая будет идти нагрузка на html и страницу в целом, если я буду совершать такой обход для 120-ти уже полученных элементов в коллекции и менять их атрибуты раз в 20 мили секунд?
JavaScript
Насколько сильная нагрузка при прочтении тега через js?
Никакая. Но getElementsByClassName("class") надо заменить на querySelectorAll(".class"); — с точкой.
Первое пересобирает все элементы при любом обращении (цикл из 120 элементов - 120 раз заново соберутся все элементы), второй собирает один раз и всё. Второй вариант будет сильно быстрее.
Первое пересобирает все элементы при любом обращении (цикл из 120 элементов - 120 раз заново соберутся все элементы), второй собирает один раз и всё. Второй вариант будет сильно быстрее.
Методы работы с DOM не читают теги.
Несколько сильная нагрузка от выполнения операции, которая никогда не выполняется? Ну, эта нагрузка равна нулю.
>> Какая будет идти нагрузка на html и страницу в целом
Во-первых, странице фиолетово: нагрузка от выполнения кода ляжет на CPU.
Во-вторых, степень этой нагрузки почти целиком зависит от количества рефлоу-операций выполняемых браузером, и формулировка "менять значение" ни о чем не говорит.
В-третьих, браузер тебе просто не позволит выполнять изменения DOM каждые 20мс (это возможно только с анмиэйшн апи, и при выполнении полной итерации за <3мс, что ооочень маловероятно).
В-четвертых, не делай так: создание условий интенсивной нагрузки на проц юзера - это плохо. К тому же, бессмысленно: такие страницы останутся без посетителей (99% гарантия).
Несколько сильная нагрузка от выполнения операции, которая никогда не выполняется? Ну, эта нагрузка равна нулю.
>> Какая будет идти нагрузка на html и страницу в целом
Во-первых, странице фиолетово: нагрузка от выполнения кода ляжет на CPU.
Во-вторых, степень этой нагрузки почти целиком зависит от количества рефлоу-операций выполняемых браузером, и формулировка "менять значение" ни о чем не говорит.
В-третьих, браузер тебе просто не позволит выполнять изменения DOM каждые 20мс (это возможно только с анмиэйшн апи, и при выполнении полной итерации за <3мс, что ооочень маловероятно).
В-четвертых, не делай так: создание условий интенсивной нагрузки на проц юзера - это плохо. К тому же, бессмысленно: такие страницы останутся без посетителей (99% гарантия).
1 Щас браузеры адаптированы к максимально тупым разрабам по этому страница не зависнет даже если на ней в js запустить бесконечный цикл..
2 с точки зрения js память у браузера почти резиновая - он начинает немного поддергиваться от переполнения только если ему на страницу выгрузить половину записей гигабайтной таблицы из базы. Просто скорость обработки замедлится т к браузер будет кешировать все на диск но страница останется в рабочем состоянии
3 ни один нормальный программист так не делает всё выплёвывает данные порционно по 20 записей и кнопку "следующая сираница"
4 по поводу получения элементов - естественно самый быстрый способ это тот который предоставляет браузер нативными функциями. Но по большому счету других способов нет, все ведут к этому. Из них самый быстрый естественно по ид но он не всегда удобен .
2 с точки зрения js память у браузера почти резиновая - он начинает немного поддергиваться от переполнения только если ему на страницу выгрузить половину записей гигабайтной таблицы из базы. Просто скорость обработки замедлится т к браузер будет кешировать все на диск но страница останется в рабочем состоянии
3 ни один нормальный программист так не делает всё выплёвывает данные порционно по 20 записей и кнопку "следующая сираница"
4 по поводу получения элементов - естественно самый быстрый способ это тот который предоставляет браузер нативными функциями. Но по большому счету других способов нет, все ведут к этому. Из них самый быстрый естественно по ид но он не всегда удобен .
Похожие вопросы
- Насколько надо владеть JS чтобы начать писать игру змейку?
- Помогите определиться с выбором нового языка (JS(TS) vs Java)
- Js фреймворки, что полезного можно для себя найти?
- В чем цель фреймворков js web?
- [HTML/CSS/JS] Как сохранять изменённые в .js данные оффлайн-сервера локально?
- Почему jQuery методы популярнее js методов при общении с ДоМ?
- ПОЧЕМУ JS ТАКОЙ НЕПОНЯТНЫЙ???
- вопрос по JS. " простой ()";
- Порядок изучени JavaScripta. Путь к Node.js. Нужен совет по обучению от программистов
- Почему иногда в вакансиях пишут "знания JavaScript или JQuery"? По сути JQuery - лишь библиотека для JS.
false.
Вместо однократного получения живой коллекции, долбиться в апи с частотой весеннего кролика? Более вредного совета нельзя и представить :(