Если я хочу вызвать функцию из прототипа массивов, например forEach, для коллекции, допустим NodeList, то какой вариант лучше избрать?
[].forEach.call(collection, function (element) {});
Array.prototype.forEach.call(collection, function(element) {});
Есть предположение что в первом случае отработает конструктор массива. Второй случай этим не страдает. Так ли это?
Согласно спецификации в первом случае будет происходить следующее:
forEach
: failforEach
в прототипе: OKВо втором случае:
Array
prototype
forEach
Однако стоит отметить, что в зависимости от конкретной реализации и различных оптимизаций оба примера могут быть сведены к одному и тому же.
Если провести замеры, то некоторые бразузеры могут показать незначительное различие, а некоторые, например хром, показывают, что различие в размере погрешности.
Поэтому на вопрос: какой способ лучше выбрать? можно дать ответ: из приведенных - любой.
Кроме того, для итерации по NodeList
можно воспользоваться недавно добавленным методом forEach
напрямую.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
На форме есть несколько инпутов типа чекбоксПеремещаться ТАБом по элементам формы я могу
Как исключить компонент из сборки в коде в зависимости от условия (компонент должен быть только если NODE_ENV = development), без правок конфига вебпака?
Есть рабочий код который отсчитывает площадь по формуле Герона с треугольника, используя пустые массивы, которые я заполняю в консоли методомpush();
Ребята как можно сделать чтоб при нажатии на кнопку она залилась зеленым цветом , при нажатии на вторую кнопку первая окрашивается в серый...